{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Markowitz资产组合优化"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 本段代码使用quantOS系统实现了Markowitz资产组合优化，并画出有效前沿。并比较两组股票组合有效前沿的差异"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "# encoding: utf-8\n",
    "import sys\n",
    "sys.path.insert(0, '/home/lli/JAQS/')\n",
    "sys.path.append('/store/project/public/py/quantos/jzquant/')\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import datetime\n",
    "import seaborn as sns\n",
    "import matplotlib.mlab as mlab\n",
    "import scipy.stats as stats\n",
    "import cvxopt as opt\n",
    "from cvxopt import blas, solvers\n",
    "\n",
    "np.random.seed(100)\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "from jaqs.data import RemoteDataService\n",
    "import jaqs.util as jutil\n",
    "from __future__ import print_function, unicode_literals, division, absolute_import\n",
    "\n",
    "from jaqs.data import RemoteDataService, DataView"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Begin: DataApi login 17321165656@tcp://data.quantos.org:8910\n",
      "    login success \n",
      "\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "u'0,'"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dataview_dir_path = '.'\n",
    "backtest_result_dir_path = '.'\n",
    "\n",
    "import os\n",
    "phone = os.environ.get('QUANTOS_USER')\n",
    "token = os.environ.get('QUANTOS_TOKEN')\n",
    "\n",
    "data_config = {\n",
    "  \"remote.data.address\": \"tcp://data.quantos.org:8910\",\n",
    "  \"remote.data.username\": phone,\n",
    "  \"timeout\": 3600,\n",
    "  \"remote.data.password\": token\n",
    "}\n",
    "\n",
    "ds = RemoteDataService()\n",
    "ds.init_from_config(data_config)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 获取资产日收益率数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "STARTDATE, ENDDATE = 20150101, 20180413"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Initialize config success.\n",
      "Query data...\n",
      "Query data - query...\n",
      "NOTE: price adjust method is [post adjust]\n",
      "220\n",
      "441\n",
      "662\n",
      "220\n",
      "441\n",
      "662\n",
      "Query data - daily fields prepared.\n",
      "Query instrument info...\n",
      "Query adj_factor...\n",
      "Query benchmark...\n",
      "Query benchmar member info...\n",
      "Data has been successfully prepared.\n"
     ]
    }
   ],
   "source": [
    "dataview_props = {# Start and end date of back-test\n",
    "                  'start_date': STARTDATE, 'end_date': ENDDATE,\n",
    "                  # Investment universe and performance benchmark\n",
    "                  'universe': '000300.SH', 'benchmark': '000300.SH',\n",
    "                  # Data fields that we need\n",
    "                  # freq = 1 means we use daily data. Please do not change this.\n",
    "                  'freq': 1}\n",
    "\n",
    "# DataView utilizes RemoteDataService to get various data and store them\n",
    "dv = DataView()\n",
    "dv.init_from_config(dataview_props, ds)\n",
    "dv.prepare_data()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 由四只股票构成第一个股票组合"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Field [daily_ret] is overwritten.\n"
     ]
    }
   ],
   "source": [
    "dv.add_formula('daily_ret', 'Return(close_adj, 1)', is_quarterly=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "SYMBOLS = ['601318.SH', '601888.SH', '600887.SH', '002027.SZ']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "daily_ret = dv.get_ts('daily_ret')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "daily_ret = daily_ret.loc[:, SYMBOLS]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 将其中一只股票收益率序列整体增加10 bps，构成第二个股票组合"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "SHIFT = 0.001"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [],
   "source": [
    "daily_ret_shift = daily_ret.copy()\n",
    "daily_ret_shift[SYMBOLS[3]] += SHIFT"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [],
   "source": [
    "daily_ret = daily_ret.dropna()\n",
    "daily_ret_shift = daily_ret_shift.dropna()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [],
   "source": [
    "return_vec = daily_ret.T.values\n",
    "return_vec_shift = daily_ret_shift.T.values"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 模拟生成资产权重"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [],
   "source": [
    "def rand_weights(n):\n",
    "    ''' Produces n random weights that sum to 1 '''\n",
    "    k = np.random.rand(n)\n",
    "    return k / sum(k)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 生成资产组合"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [],
   "source": [
    "def random_portfolio(returns):\n",
    "    ''' \n",
    "    Returns the mean and standard deviation of returns for a random portfolio\n",
    "    '''\n",
    "\n",
    "    p = np.asmatrix(np.mean(returns, axis=1))\n",
    "    w = np.asmatrix(rand_weights(returns.shape[0]))\n",
    "    C = np.asmatrix(np.cov(returns))\n",
    "    \n",
    "    mu = w * p.T\n",
    "    sigma = np.sqrt(w * C * w.T)\n",
    "    \n",
    "    # This recursion reduces outliers to keep plots pretty\n",
    "#     if sigma > 2:\n",
    "#         return random_portfolio(returns)\n",
    "    return mu, sigma"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [],
   "source": [
    "n_portfolios = 500\n",
    "means1, stds1 = np.column_stack([random_portfolio(return_vec) for _ in range(n_portfolios)])\n",
    "means2, stds2 = np.column_stack([random_portfolio(return_vec_shift) for _ in range(n_portfolios)])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 对比以下两图可以发现资产组合的risk-return分布差别较大"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5,1,u'Mean and standard deviation of returns of portfolio1')"
      ]
     },
     "execution_count": 52,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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3wDwDZvX/gzAz7w7O6oEsXWy+zoHMB424l8fDxtFtX1QtnsWc1skIiIiIqLMeLlFElHBxdbJfri5IeWxYtk+KFbNffTZ/fjeS+/g0Wf347PbXoduTDzrjdsiERERERFlhiGYyp5PE3xk9TzUBnwJXy+WadC57Fkca/c2K5b3RURERERUjBiCqSLE2qJjQbjar2HW5AAMpRxVXL2USzXX/L4EQG0ZTLkmIiIiIvJSwfcJJsqHWFv0jrZefOuFo+gdHse5gTFs/vmBgg+Sshre5bSay22RiIiIiIgyw0owVQyfJtA0wYUrQYyHjYxbj72SazXXpwk2LK/HoxuasGF5PQMwEREREVEarARTRUnXelyoacqs5hIRERER5Q9DMFWUXFqPvRSr5nJbIyIiIiIib7EdmioKB0kREREREVU2VoKporD1mIiIiIiosjEEU8Vh6zERERERUeViOzQRERERERFVDIZgIiIiIiIiqhgMwURERERERFQxGIKJiIiIiIioYnAwFhHlTDcUdh7vw5GuIaysoInblfq+iYiIiEoZQzAR5UQ3FD677XUcOHsZY0EdNdG9l3/y8HvLOhBW6vsmIiIiKnVshyainOw83ocDZy9jNKhDARgN6jhw9jJ2Hu8r9Kl5qlLfNxEREVGpYwgmKkG6odDa1ostre1obeuFbqiCncuRriGMBfWEr40FdRztGirQGeVHpb5vIiIiolLHdmiiIpDJ2tJia8NdOW8aagI+jJoCYU3AhxXzpuX9XPKpUt83ERERUaljCCYqsExDrbkNF0hsw92wvD7fp4/1S+dgzfUzUs5//dI5eT+XfKrU901ERERU6hiCiQos01Cbrg23ECHYpwl+8vB7sfN4H452DWFFhUxJrtT3TURERFTqGIKJCizTUFuMbbg+TbBheX1BQnghVer7JiIiIiplHIxFVGCxUGuWLtTG2nBrAz4IgFq24RIREREROcZKMFGBZbq2lG24RERERETZE6UKt7WKm9auXav27t1b6NMgykpsOjRDLRERERGRNRHZp5Ram+txWAkmKgJcW0pERERElB9cE0xEREREREQVgyGYiIiIiIiIKgZDMBEREREREVUMhmAiIiIiIiKqGAzBREREREREVDEYgomIiIiIiKhiMAQTERERERFRxWAIJiIiIiIioorBEExEREREREQVgyGYiIiIiIiI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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fa8070e5f50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots(figsize = (16,10))\n",
    "plt.plot(stds1*np.sqrt(242), means1*242, 'o', markersize=5)\n",
    "plt.xlabel('std')\n",
    "plt.ylabel('mean')\n",
    "ax.set_xlim(0.265, 0.4)\n",
    "ax.set_ylim(0.25, 0.7)\n",
    "\n",
    "plt.title('Mean and standard deviation of returns of portfolio1')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5,1,u'Mean and standard deviation of returns of portfolio2')"
      ]
     },
     "execution_count": 51,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fa814e12610>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots(figsize = (16,10))\n",
    "plt.plot(stds2*np.sqrt(242), means2*242, 'o', markersize=5)\n",
    "plt.xlabel('std')\n",
    "plt.ylabel('mean')\n",
    "ax.set_xlim(0.265, 0.4)\n",
    "ax.set_ylim(0.25, 0.7)\n",
    "plt.title('Mean and standard deviation of returns of portfolio2')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 生成有效前沿"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.5534e-03 -1.0025e+00  1e+00  2e-16  3e+00\n",
      " 1: -1.5540e-03 -1.2468e-02  1e-02  9e-17  3e-02\n",
      " 2: -1.6103e-03 -2.5646e-03  1e-03  1e-16  2e-03\n",
      " 3: -2.4050e-03 -2.8075e-03  4e-04  4e-16  4e-04\n",
      " 4: -2.4341e-03 -2.4398e-03  6e-06  3e-16  6e-06\n",
      " 5: -2.4361e-03 -2.4361e-03  6e-08  2e-16  6e-08\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.5514e-03 -1.0025e+00  1e+00  2e-16  3e+00\n",
      " 1: -1.5520e-03 -1.2465e-02  1e-02  6e-17  3e-02\n",
      " 2: -1.6082e-03 -2.5616e-03  1e-03  8e-17  2e-03\n",
      " 3: -2.4007e-03 -2.8000e-03  4e-04  2e-16  4e-04\n",
      " 4: -2.4276e-03 -2.4332e-03  6e-06  2e-18  5e-06\n",
      " 5: -2.4295e-03 -2.4296e-03  6e-08  1e-16  5e-08\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.5491e-03 -1.0025e+00  1e+00  0e+00  3e+00\n",
      " 1: -1.5498e-03 -1.2462e-02  1e-02  1e-16  3e-02\n",
      " 2: -1.6059e-03 -2.5581e-03  1e-03  1e-16  2e-03\n",
      " 3: -2.3959e-03 -2.7916e-03  4e-04  4e-16  4e-04\n",
      " 4: -2.4204e-03 -2.4259e-03  5e-06  3e-16  5e-06\n",
      " 5: -2.4221e-03 -2.4222e-03  5e-08  1e-16  5e-08\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.5466e-03 -1.0025e+00  1e+00  0e+00  3e+00\n",
      " 1: -1.5473e-03 -1.2459e-02  1e-02  6e-17  3e-02\n",
      " 2: -1.6032e-03 -2.5543e-03  1e-03  6e-17  2e-03\n",
      " 3: -2.3904e-03 -2.7823e-03  4e-04  2e-16  3e-04\n",
      " 4: -2.4123e-03 -2.4176e-03  5e-06  2e-16  5e-06\n",
      " 5: -2.4139e-03 -2.4139e-03  5e-08  2e-16  5e-08\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.5438e-03 -1.0025e+00  1e+00  2e-16  3e+00\n",
      " 1: -1.5444e-03 -1.2455e-02  1e-02  8e-17  3e-02\n",
      " 2: -1.6002e-03 -2.5500e-03  9e-04  7e-17  2e-03\n",
      " 3: -2.3842e-03 -2.7718e-03  4e-04  1e-15  3e-04\n",
      " 4: -2.4032e-03 -2.4083e-03  5e-06  3e-16  4e-06\n",
      " 5: -2.4046e-03 -2.4047e-03  5e-08  1e-16  4e-08\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.5407e-03 -1.0025e+00  1e+00  2e-16  3e+00\n",
      " 1: -1.5413e-03 -1.2451e-02  1e-02  1e-16  3e-02\n",
      " 2: -1.5969e-03 -2.5451e-03  9e-04  1e-16  2e-03\n",
      " 3: -2.3773e-03 -2.7600e-03  4e-04  7e-16  3e-04\n",
      " 4: -2.3931e-03 -2.3979e-03  5e-06  2e-16  4e-06\n",
      " 5: -2.3942e-03 -2.3943e-03  5e-08  1e-16  4e-08\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.5371e-03 -1.0024e+00  1e+00  1e-16  3e+00\n",
      " 1: -1.5378e-03 -1.2446e-02  1e-02  4e-17  3e-02\n",
      " 2: -1.5931e-03 -2.5397e-03  9e-04  1e-16  2e-03\n",
      " 3: -2.3694e-03 -2.7469e-03  4e-04  7e-16  2e-04\n",
      " 4: -2.3816e-03 -2.3862e-03  5e-06  1e-16  3e-06\n",
      " 5: -2.3826e-03 -2.3826e-03  5e-08  1e-16  3e-08\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.5332e-03 -1.0024e+00  1e+00  4e-16  3e+00\n",
      " 1: -1.5338e-03 -1.2441e-02  1e-02  1e-16  3e-02\n",
      " 2: -1.5889e-03 -2.5336e-03  9e-04  5e-17  2e-03\n",
      " 3: -2.3599e-03 -2.7319e-03  4e-04  4e-16  2e-04\n",
      " 4: -2.3688e-03 -2.3731e-03  4e-06  2e-16  2e-06\n",
      " 5: -2.3695e-03 -2.3696e-03  4e-08  1e-16  2e-08\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.5287e-03 -1.0024e+00  1e+00  0e+00  3e+00\n",
      " 1: -1.5293e-03 -1.2435e-02  1e-02  4e-17  3e-02\n",
      " 2: -1.5842e-03 -2.5267e-03  9e-04  1e-16  2e-03\n",
      " 3: -2.3450e-03 -2.7136e-03  4e-04  4e-16  2e-04\n",
      " 4: -2.3540e-03 -2.3584e-03  4e-06  2e-16  2e-06\n",
      " 5: -2.3548e-03 -2.3549e-03  4e-08  1e-16  2e-08\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.5237e-03 -1.0024e+00  1e+00  0e+00  3e+00\n",
      " 1: -1.5243e-03 -1.2429e-02  1e-02  2e-16  3e-02\n",
      " 2: -1.5789e-03 -2.5190e-03  9e-04  2e-16  2e-03\n",
      " 3: -2.3282e-03 -2.6931e-03  4e-04  2e-16  1e-04\n",
      " 4: -2.3374e-03 -2.3419e-03  5e-06  1e-16  2e-06\n",
      " 5: -2.3384e-03 -2.3384e-03  5e-08  2e-16  2e-08\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.5181e-03 -1.0024e+00  1e+00  2e-16  3e+00\n",
      " 1: -1.5187e-03 -1.2421e-02  1e-02  1e-16  3e-02\n",
      " 2: -1.5730e-03 -2.5104e-03  9e-04  1e-16  2e-03\n",
      " 3: -2.3091e-03 -2.6700e-03  4e-04  4e-16  1e-04\n",
      " 4: -2.3188e-03 -2.3234e-03  5e-06  2e-16  1e-06\n",
      " 5: -2.3199e-03 -2.3199e-03  5e-08  1e-16  1e-08\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.5118e-03 -1.0024e+00  1e+00  0e+00  3e+00\n",
      " 1: -1.5124e-03 -1.2413e-02  1e-02  7e-17  3e-02\n",
      " 2: -1.5663e-03 -2.5008e-03  9e-04  1e-16  2e-03\n",
      " 3: -2.2859e-03 -2.6435e-03  4e-04  7e-16  6e-05\n",
      " 4: -2.2976e-03 -2.3026e-03  5e-06  2e-16  9e-07\n",
      " 5: -2.2992e-03 -2.2992e-03  5e-08  5e-20  9e-09\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.5048e-03 -1.0024e+00  1e+00  1e-16  3e+00\n",
      " 1: -1.5054e-03 -1.2403e-02  1e-02  1e-16  3e-02\n",
      " 2: -1.5589e-03 -2.4900e-03  9e-04  4e-17  2e-03\n",
      " 3: -2.2603e-03 -2.6138e-03  4e-04  2e-16  2e-05\n",
      " 4: -2.2740e-03 -2.2793e-03  5e-06  2e-16  4e-07\n",
      " 5: -2.2759e-03 -2.2759e-03  5e-08  1e-16  4e-09\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.4969e-03 -1.0024e+00  1e+00  2e-16  3e+00\n",
      " 1: -1.4975e-03 -1.2393e-02  1e-02  7e-17  3e-02\n",
      " 2: -1.5505e-03 -2.4778e-03  9e-04  6e-17  2e-03\n",
      " 3: -2.2268e-03 -2.5787e-03  4e-04  2e-16  5e-19\n",
      " 4: -2.2468e-03 -2.2531e-03  6e-06  2e-16  3e-19\n",
      " 5: -2.2498e-03 -2.2498e-03  6e-08  3e-16  2e-19\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.4880e-03 -1.0024e+00  1e+00  2e-16  3e+00\n",
      " 1: -1.4886e-03 -1.2381e-02  1e-02  2e-16  3e-02\n",
      " 2: -1.5411e-03 -2.4643e-03  9e-04  1e-16  2e-03\n",
      " 3: -2.1845e-03 -2.5376e-03  4e-04  7e-16  8e-19\n",
      " 4: -2.2156e-03 -2.2237e-03  8e-06  2e-16  8e-19\n",
      " 5: -2.2205e-03 -2.2206e-03  8e-08  1e-18  6e-19\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.4780e-03 -1.0024e+00  1e+00  2e-16  3e+00\n",
      " 1: -1.4786e-03 -1.2368e-02  1e-02  7e-17  3e-02\n",
      " 2: -1.5305e-03 -2.4490e-03  9e-04  8e-17  2e-03\n",
      " 3: -2.1396e-03 -2.4926e-03  4e-04  7e-16  3e-19\n",
      " 4: -2.1805e-03 -2.1908e-03  1e-05  2e-16  2e-19\n",
      " 5: -2.1876e-03 -2.1877e-03  1e-07  2e-16  2e-19\n",
      " 6: -2.1877e-03 -2.1877e-03  1e-09  2e-16  3e-19\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.4668e-03 -1.0024e+00  1e+00  1e-16  3e+00\n",
      " 1: -1.4674e-03 -1.2353e-02  1e-02  1e-16  3e-02\n",
      " 2: -1.5187e-03 -2.4320e-03  9e-04  1e-16  2e-03\n",
      " 3: -2.0922e-03 -2.4435e-03  4e-04  4e-16  6e-19\n",
      " 4: -2.1411e-03 -2.1538e-03  1e-05  1e-16  4e-19\n",
      " 5: -2.1507e-03 -2.1508e-03  2e-07  1e-16  4e-19\n",
      " 6: -2.1508e-03 -2.1508e-03  2e-09  1e-16  5e-19\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.4543e-03 -1.0023e+00  1e+00  0e+00  3e+00\n",
      " 1: -1.4549e-03 -1.2336e-02  1e-02  9e-17  3e-02\n",
      " 2: -1.5055e-03 -2.4129e-03  9e-04  8e-17  2e-03\n",
      " 3: -2.0425e-03 -2.3903e-03  3e-04  2e-16  4e-19\n",
      " 4: -2.0970e-03 -2.1125e-03  2e-05  3e-16  4e-19\n",
      " 5: -2.1092e-03 -2.1095e-03  2e-07  5e-18  1e-19\n",
      " 6: -2.1094e-03 -2.1094e-03  2e-09  4e-20  1e-19\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.4402e-03 -1.0023e+00  1e+00  4e-16  3e+00\n",
      " 1: -1.4408e-03 -1.2317e-02  1e-02  2e-16  3e-02\n",
      " 2: -1.4906e-03 -2.3915e-03  9e-04  7e-17  2e-03\n",
      " 3: -1.9905e-03 -2.3327e-03  3e-04  4e-16  6e-19\n",
      " 4: -2.0481e-03 -2.0665e-03  2e-05  2e-16  5e-19\n",
      " 5: -2.0626e-03 -2.0631e-03  5e-07  2e-16  1e-19\n",
      " 6: -2.0630e-03 -2.0630e-03  5e-09  2e-16  2e-19\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.4244e-03 -1.0023e+00  1e+00  1e-16  3e+00\n",
      " 1: -1.4250e-03 -1.2296e-02  1e-02  4e-17  3e-02\n",
      " 2: -1.4739e-03 -2.3675e-03  9e-04  6e-17  2e-03\n",
      " 3: -1.9364e-03 -2.2708e-03  3e-04  2e-16  5e-19\n",
      " 4: -1.9944e-03 -2.0153e-03  2e-05  1e-16  3e-19\n",
      " 5: -2.0100e-03 -2.0110e-03  1e-06  1e-16  1e-19\n",
      " 6: -2.0109e-03 -2.0110e-03  1e-08  1e-16  2e-19\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.4067e-03 -1.0023e+00  1e+00  1e-16  3e+00\n",
      " 1: -1.4072e-03 -1.2273e-02  1e-02  4e-17  3e-02\n",
      " 2: -1.4552e-03 -2.3407e-03  9e-04  1e-16  2e-03\n",
      " 3: -1.8803e-03 -2.2044e-03  3e-04  2e-16  5e-19\n",
      " 4: -1.9364e-03 -1.9589e-03  2e-05  2e-16  6e-19\n",
      " 5: -1.9512e-03 -1.9528e-03  2e-06  1e-16  5e-19\n",
      " 6: -1.9524e-03 -1.9525e-03  1e-07  1e-16  2e-19\n",
      " 7: -1.9525e-03 -1.9525e-03  3e-09  4e-19  4e-19\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.3868e-03 -1.0022e+00  1e+00  0e+00  3e+00\n",
      " 1: -1.3873e-03 -1.2246e-02  1e-02  1e-16  3e-02\n",
      " 2: -1.4343e-03 -2.3106e-03  9e-04  1e-16  2e-03\n",
      " 3: -1.8223e-03 -2.1336e-03  3e-04  2e-16  8e-19\n",
      " 4: -1.8748e-03 -1.8975e-03  2e-05  1e-16  2e-19\n",
      " 5: -1.8882e-03 -1.8894e-03  1e-06  1e-16  3e-19\n",
      " 6: -1.8887e-03 -1.8888e-03  2e-08  1e-16  1e-19\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.3645e-03 -1.0022e+00  1e+00  2e-16  3e+00\n",
      " 1: -1.3650e-03 -1.2216e-02  1e-02  4e-17  3e-02\n",
      " 2: -1.4108e-03 -2.2771e-03  9e-04  2e-16  2e-03\n",
      " 3: -1.7625e-03 -2.0585e-03  3e-04  1e-16  6e-19\n",
      " 4: -1.8106e-03 -1.8319e-03  2e-05  1e-16  3e-19\n",
      " 5: -1.8236e-03 -1.8246e-03  1e-06  1e-16  3e-19\n",
      " 6: -1.8244e-03 -1.8244e-03  1e-08  2e-16  4e-19\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.3395e-03 -1.0022e+00  1e+00  2e-16  3e+00\n",
      " 1: -1.3400e-03 -1.2183e-02  1e-02  1e-16  3e-02\n",
      " 2: -1.3845e-03 -2.2395e-03  9e-04  3e-17  2e-03\n",
      " 3: -1.7008e-03 -1.9792e-03  3e-04  2e-16  6e-19\n",
      " 4: -1.7445e-03 -1.7631e-03  2e-05  1e-16  1e-19\n",
      " 5: -1.7588e-03 -1.7593e-03  5e-07  3e-18  8e-20\n",
      " 6: -1.7592e-03 -1.7592e-03  5e-09  6e-17  2e-19\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.3114e-03 -1.0021e+00  1e+00  0e+00  3e+00\n",
      " 1: -1.3119e-03 -1.2146e-02  1e-02  7e-17  3e-02\n",
      " 2: -1.3550e-03 -2.1975e-03  8e-04  4e-17  2e-03\n",
      " 3: -1.6372e-03 -1.8959e-03  3e-04  2e-16  6e-19\n",
      " 4: -1.6755e-03 -1.7014e-03  3e-05  2e-16  3e-19\n",
      " 5: -1.6912e-03 -1.6923e-03  1e-06  1e-16  3e-19\n",
      " 6: -1.6921e-03 -1.6921e-03  1e-08  3e-16  2e-19\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.2799e-03 -1.0021e+00  1e+00  0e+00  3e+00\n",
      " 1: -1.2804e-03 -1.2104e-02  1e-02  2e-16  3e-02\n",
      " 2: -1.3219e-03 -2.1505e-03  8e-04  8e-17  2e-03\n",
      " 3: -1.5717e-03 -1.8089e-03  2e-04  1e-16  5e-19\n",
      " 4: -1.6053e-03 -1.6356e-03  3e-05  1e-16  3e-19\n",
      " 5: -1.6207e-03 -1.6226e-03  2e-06  1e-16  2e-19\n",
      " 6: -1.6222e-03 -1.6222e-03  3e-08  2e-16  2e-19\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.2445e-03 -1.0021e+00  1e+00  2e-16  3e+00\n",
      " 1: -1.2450e-03 -1.2056e-02  1e-02  2e-16  3e-02\n",
      " 2: -1.2849e-03 -2.0980e-03  8e-04  8e-17  2e-03\n",
      " 3: -1.5040e-03 -1.7182e-03  2e-04  1e-16  3e-19\n",
      " 4: -1.5335e-03 -1.5633e-03  3e-05  1e-16  2e-19\n",
      " 5: -1.5468e-03 -1.5493e-03  2e-06  1e-17  7e-20\n",
      " 6: -1.5487e-03 -1.5488e-03  1e-07  2e-18  4e-19\n",
      " 7: -1.5488e-03 -1.5488e-03  1e-09  6e-17  2e-19\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.2048e-03 -1.0020e+00  1e+00  0e+00  3e+00\n",
      " 1: -1.2053e-03 -1.2004e-02  1e-02  1e-16  3e-02\n",
      " 2: -1.2433e-03 -2.0394e-03  8e-04  1e-16  2e-03\n",
      " 3: -1.4337e-03 -1.6242e-03  2e-04  2e-16  3e-19\n",
      " 4: -1.4594e-03 -1.4854e-03  3e-05  2e-16  3e-19\n",
      " 5: -1.4691e-03 -1.4717e-03  3e-06  1e-17  3e-19\n",
      " 6: -1.4705e-03 -1.4708e-03  2e-07  1e-16  2e-19\n",
      " 7: -1.4706e-03 -1.4707e-03  3e-08  2e-16  1e-19\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.1603e-03 -1.0019e+00  1e+00  0e+00  3e+00\n",
      " 1: -1.1608e-03 -1.1944e-02  1e-02  1e-16  3e-02\n",
      " 2: -1.1969e-03 -1.9740e-03  8e-04  6e-17  2e-03\n",
      " 3: -1.3604e-03 -1.5269e-03  2e-04  1e-16  4e-19\n",
      " 4: -1.3819e-03 -1.4026e-03  2e-05  1e-16  8e-20\n",
      " 5: -1.3878e-03 -1.3899e-03  2e-06  1e-16  1e-19\n",
      " 6: -1.3887e-03 -1.3888e-03  1e-07  1e-16  8e-20\n",
      " 7: -1.3888e-03 -1.3888e-03  1e-09  6e-17  1e-19\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.1104e-03 -1.0019e+00  1e+00  2e-16  3e+00\n",
      " 1: -1.1108e-03 -1.1878e-02  1e-02  8e-17  3e-02\n",
      " 2: -1.1448e-03 -1.9011e-03  8e-04  1e-16  2e-03\n",
      " 3: -1.2837e-03 -1.4263e-03  1e-04  1e-16  4e-19\n",
      " 4: -1.3005e-03 -1.3155e-03  2e-05  1e-16  2e-19\n",
      " 5: -1.3034e-03 -1.3046e-03  1e-06  1e-16  3e-19\n",
      " 6: -1.3038e-03 -1.3040e-03  2e-07  2e-16  3e-19\n",
      " 7: -1.3039e-03 -1.3039e-03  2e-08  6e-17  5e-19\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.0544e-03 -1.0018e+00  1e+00  2e-16  3e+00\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      " 1: -1.0548e-03 -1.1803e-02  1e-02  2e-16  3e-02\n",
      " 2: -1.0865e-03 -1.8198e-03  7e-04  1e-16  2e-03\n",
      " 3: -1.2029e-03 -1.3225e-03  1e-04  2e-16  4e-19\n",
      " 4: -1.2150e-03 -1.2247e-03  1e-05  1e-16  3e-19\n",
      " 5: -1.2160e-03 -1.2166e-03  7e-07  6e-17  2e-19\n",
      " 6: -1.2160e-03 -1.2160e-03  2e-08  1e-16  1e-19\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -9.9151e-04 -1.0017e+00  1e+00  0e+00  3e+00\n",
      " 1: -9.9188e-04 -1.1720e-02  1e-02  1e-16  3e-02\n",
      " 2: -1.0212e-03 -1.7293e-03  7e-04  1e-16  2e-03\n",
      " 3: -1.1173e-03 -1.2152e-03  1e-04  1e-16  2e-19\n",
      " 4: -1.1252e-03 -1.1311e-03  6e-06  6e-17  5e-19\n",
      " 5: -1.1254e-03 -1.1256e-03  2e-07  8e-17  3e-19\n",
      " 6: -1.1254e-03 -1.1254e-03  2e-09  1e-16  7e-19\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -9.2098e-04 -1.0016e+00  1e+00  2e-16  3e+00\n",
      " 1: -9.2133e-04 -1.1626e-02  1e-02  6e-17  3e-02\n",
      " 2: -9.4813e-04 -1.6285e-03  7e-04  1e-16  2e-03\n",
      " 3: -1.0262e-03 -1.1040e-03  8e-05  7e-17  3e-19\n",
      " 4: -1.0309e-03 -1.0344e-03  4e-06  7e-17  4e-19\n",
      " 5: -1.0309e-03 -1.0310e-03  4e-08  7e-17  4e-19\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -8.4185e-04 -1.0015e+00  1e+00  1e-16  3e+00\n",
      " 1: -8.4216e-04 -1.1521e-02  1e-02  9e-17  3e-02\n",
      " 2: -8.6637e-04 -1.5164e-03  7e-04  1e-16  2e-03\n",
      " 3: -9.2854e-04 -9.8853e-04  6e-05  1e-16  5e-19\n",
      " 4: -9.3125e-04 -9.3315e-04  2e-06  6e-17  6e-19\n",
      " 5: -9.3127e-04 -9.3129e-04  2e-08  8e-17  2e-19\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -7.5306e-04 -1.0014e+00  1e+00  0e+00  3e+00\n",
      " 1: -7.5335e-04 -1.1402e-02  1e-02  8e-17  3e-02\n",
      " 2: -7.7490e-04 -1.3919e-03  6e-04  1e-16  2e-03\n",
      " 3: -8.2351e-04 -8.6801e-04  4e-05  7e-17  2e-19\n",
      " 4: -8.2514e-04 -8.2659e-04  1e-06  7e-17  4e-19\n",
      " 5: -8.2515e-04 -8.2517e-04  2e-08  6e-17  6e-19\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -6.5345e-04 -1.0013e+00  1e+00  0e+00  3e+00\n",
      " 1: -6.5371e-04 -1.1270e-02  1e-02  1e-16  3e-02\n",
      " 2: -6.7259e-04 -1.2537e-03  6e-04  2e-16  1e-03\n",
      " 3: -7.0999e-04 -7.4202e-04  3e-05  7e-17  1e-06\n",
      " 4: -7.1115e-04 -7.1231e-04  1e-06  7e-17  3e-08\n",
      " 5: -7.1116e-04 -7.1117e-04  1e-08  6e-17  3e-10\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -5.4169e-04 -1.0011e+00  1e+00  0e+00  3e+00\n",
      " 1: -5.4192e-04 -1.1121e-02  1e-02  5e-17  3e-02\n",
      " 2: -5.5819e-04 -1.1005e-03  5e-04  1e-16  1e-03\n",
      " 3: -5.8675e-04 -6.0874e-04  2e-05  1e-16  1e-06\n",
      " 4: -5.8777e-04 -5.8848e-04  7e-07  6e-17  2e-08\n",
      " 5: -5.8777e-04 -5.8778e-04  7e-09  9e-17  2e-10\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -4.1630e-04 -1.0010e+00  1e+00  0e+00  3e+00\n",
      " 1: -4.1650e-04 -1.0955e-02  1e-02  2e-16  3e-02\n",
      " 2: -4.3029e-04 -9.3077e-04  5e-04  5e-17  1e-03\n",
      " 3: -4.5230e-04 -4.7737e-04  3e-05  2e-16  3e-05\n",
      " 4: -4.5335e-04 -4.5408e-04  7e-07  8e-17  3e-07\n",
      " 5: -4.5336e-04 -4.5336e-04  7e-09  3e-17  3e-09\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -2.7562e-04 -1.0008e+00  1e+00  1e-16  3e+00\n",
      " 1: -2.7579e-04 -1.0768e-02  1e-02  1e-16  3e-02\n",
      " 2: -2.8735e-04 -7.4302e-04  5e-04  8e-17  1e-03\n",
      " 3: -3.0508e-04 -3.3370e-04  3e-05  1e-16  5e-05\n",
      " 4: -3.0613e-04 -3.0686e-04  7e-07  6e-17  6e-07\n",
      " 5: -3.0613e-04 -3.0614e-04  7e-09  9e-17  6e-09\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.1779e-04 -1.0006e+00  1e+00  0e+00  3e+00\n",
      " 1: -1.1794e-04 -1.0559e-02  1e-02  2e-16  3e-02\n",
      " 2: -1.2764e-04 -5.3557e-04  4e-04  8e-17  1e-03\n",
      " 3: -1.4321e-04 -1.7234e-04  3e-05  2e-16  6e-05\n",
      " 4: -1.4414e-04 -1.4478e-04  6e-07  6e-17  6e-07\n",
      " 5: -1.4414e-04 -1.4415e-04  6e-09  1e-16  6e-09\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  5.9284e-05 -1.0003e+00  1e+00  4e-16  3e+00\n",
      " 1:  5.9157e-05 -1.0324e-02  1e-02  8e-17  3e-02\n",
      " 2:  5.0775e-05 -3.0666e-04  4e-04  9e-17  9e-04\n",
      " 3:  3.5428e-05  9.5165e-06  3e-05  1e-16  4e-05\n",
      " 4:  3.4763e-05  3.4300e-05  5e-07  1e-16  5e-07\n",
      " 5:  3.4763e-05  3.4758e-05  5e-09  4e-17  5e-09\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  2.5794e-04 -1.0001e+00  1e+00  1e-16  3e+00\n",
      " 1:  2.5783e-04 -1.0060e-02  1e-02  8e-17  3e-02\n",
      " 2:  2.5002e-04 -5.4388e-05  3e-04  8e-17  8e-04\n",
      " 3:  2.3326e-04  2.1585e-04  2e-05  1e-16  1e-05\n",
      " 4:  2.3296e-04  2.3271e-04  2e-07  1e-16  2e-07\n",
      " 5:  2.3296e-04  2.3295e-04  2e-09  8e-17  2e-09\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  4.8081e-04 -9.9977e-01  1e+00  0e+00  3e+00\n",
      " 1:  4.8070e-04 -9.7649e-03  1e-02  8e-17  3e-02\n",
      " 2:  4.7254e-04  1.5884e-04  3e-04  6e-17  8e-04\n",
      " 3:  4.5324e-04  4.3815e-04  2e-05  8e-17  2e-18\n",
      " 4:  4.5307e-04  4.5288e-04  2e-07  1e-16  6e-19\n",
      " 5:  4.5307e-04  4.5307e-04  2e-09  8e-17  1e-18\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  7.3085e-04 -9.9960e-01  1e+00  2e-16  3e+00\n",
      " 1:  7.3072e-04 -9.6022e-03  1e-02  3e-17  3e-02\n",
      " 2:  7.2112e-04  3.3665e-04  4e-04  1e-16  1e-03\n",
      " 3:  6.9820e-04  6.7939e-04  2e-05  2e-16  9e-19\n",
      " 4:  6.9802e-04  6.9780e-04  2e-07  7e-17  1e-18\n",
      " 5:  6.9802e-04  6.9802e-04  2e-09  1e-16  7e-19\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  1.0114e-03 -9.9943e-01  1e+00  0e+00  3e+00\n",
      " 1:  1.0112e-03 -9.4307e-03  1e-02  6e-17  3e-02\n",
      " 2:  9.9874e-04  5.3975e-04  5e-04  2e-16  1e-03\n",
      " 3:  9.7125e-04  9.4825e-04  2e-05  1e-16  2e-18\n",
      " 4:  9.7106e-04  9.7080e-04  3e-07  1e-16  5e-19\n",
      " 5:  9.7106e-04  9.7106e-04  3e-09  8e-17  6e-19\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  1.3260e-03 -9.9924e-01  1e+00  1e-16  3e+00\n",
      " 1:  1.3258e-03 -9.2380e-03  1e-02  2e-16  3e-02\n",
      " 2:  1.3088e-03  7.7180e-04  5e-04  2e-16  1e-03\n",
      " 3:  1.2760e-03  1.2484e-03  3e-05  4e-17  2e-18\n",
      " 4:  1.2758e-03  1.2755e-03  3e-07  9e-17  2e-18\n",
      " 5:  1.2758e-03  1.2758e-03  3e-09  6e-17  3e-18\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  1.6790e-03 -9.9902e-01  1e+00  0e+00  3e+00\n",
      " 1:  1.6787e-03 -9.0214e-03  1e-02  9e-17  3e-02\n",
      " 2:  1.6553e-03  1.0368e-03  6e-04  1e-16  2e-03\n",
      " 3:  1.6165e-03  1.5842e-03  3e-05  1e-16  2e-18\n",
      " 4:  1.6163e-03  1.6160e-03  4e-07  6e-17  1e-18\n",
      " 5:  1.6163e-03  1.6163e-03  4e-09  9e-17  2e-18\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  2.0750e-03 -9.9878e-01  1e+00  0e+00  3e+00\n",
      " 1:  2.0745e-03 -8.7779e-03  1e-02  2e-16  3e-02\n",
      " 2:  2.0424e-03  1.3393e-03  7e-04  6e-17  2e-03\n",
      " 3:  1.9973e-03  1.9602e-03  4e-05  2e-16  7e-19\n",
      " 4:  1.9971e-03  1.9967e-03  4e-07  1e-16  2e-18\n",
      " 5:  1.9971e-03  1.9971e-03  4e-09  4e-17  2e-18\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  2.5193e-03 -9.9851e-01  1e+00  3e-16  3e+00\n",
      " 1:  2.5185e-03 -8.5041e-03  1e-02  1e-16  3e-02\n",
      " 2:  2.4751e-03  1.6843e-03  8e-04  1e-16  2e-03\n",
      " 3:  2.4234e-03  2.3817e-03  4e-05  1e-16  3e-18\n",
      " 4:  2.4232e-03  2.4228e-03  5e-07  4e-17  3e-18\n",
      " 5:  2.4232e-03  2.4232e-03  5e-09  7e-17  1e-18\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  3.0176e-03 -9.9820e-01  1e+00  0e+00  3e+00\n",
      " 1:  3.0165e-03 -8.1962e-03  1e-02  1e-16  3e-02\n",
      " 2:  2.9589e-03  2.0778e-03  9e-04  0e+00  2e-03\n",
      " 3:  2.9006e-03  2.8544e-03  5e-05  9e-17  2e-18\n",
      " 4:  2.9003e-03  2.8998e-03  5e-07  1e-16  1e-18\n",
      " 5:  2.9003e-03  2.9003e-03  5e-09  1e-16  2e-18\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  3.5765e-03 -9.9786e-01  1e+00  1e-16  3e+00\n",
      " 1:  3.5750e-03 -7.8499e-03  1e-02  2e-16  3e-02\n",
      " 2:  3.5000e-03  2.5261e-03  1e-03  2e-16  2e-03\n",
      " 3:  3.4350e-03  3.3849e-03  5e-05  2e-16  2e-18\n",
      " 4:  3.4347e-03  3.4342e-03  5e-07  1e-16  2e-18\n",
      " 5:  3.4347e-03  3.4347e-03  5e-09  6e-17  1e-18\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  4.2034e-03 -9.9747e-01  1e+00  0e+00  3e+00\n",
      " 1:  4.2014e-03 -7.4601e-03  1e-02  7e-17  3e-02\n",
      " 2:  4.1053e-03  3.0368e-03  1e-03  1e-16  3e-03\n",
      " 3:  4.0338e-03  3.9803e-03  5e-05  1e-16  3e-18\n",
      " 4:  4.0335e-03  4.0330e-03  6e-07  1e-16  3e-18\n",
      " 5:  4.0335e-03  4.0335e-03  6e-09  7e-17  2e-18\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  4.9066e-03 -9.9704e-01  1e+00  0e+00  3e+00\n",
      " 1:  4.9038e-03 -7.0214e-03  1e-02  2e-16  3e-02\n",
      " 2:  4.7825e-03  3.6182e-03  1e-03  7e-17  3e-03\n",
      " 3:  4.7049e-03  4.6488e-03  6e-05  1e-16  3e-18\n",
      " 4:  4.7047e-03  4.7041e-03  6e-07  1e-16  3e-18\n",
      " 5:  4.7047e-03  4.7047e-03  6e-09  9e-17  3e-18\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  5.6953e-03 -9.9655e-01  1e+00  0e+00  3e+00\n",
      " 1:  5.6915e-03 -6.5274e-03  1e-02  8e-17  3e-02\n",
      " 2:  5.5405e-03  4.2797e-03  1e-03  4e-17  3e-03\n",
      " 3:  5.4574e-03  5.3992e-03  6e-05  6e-17  1e-18\n",
      " 4:  5.4571e-03  5.4565e-03  6e-07  1e-16  2e-18\n",
      " 5:  5.4571e-03  5.4571e-03  6e-09  4e-17  4e-18\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  6.5799e-03 -9.9600e-01  1e+00  2e-16  3e+00\n",
      " 1:  6.5748e-03 -5.9710e-03  1e-02  8e-17  3e-02\n",
      " 2:  6.3890e-03  5.0320e-03  1e-03  8e-17  3e-03\n",
      " 3:  6.3010e-03  6.2417e-03  6e-05  1e-16  3e-18\n",
      " 4:  6.3008e-03  6.3001e-03  6e-07  1e-16  5e-18\n",
      " 5:  6.3008e-03  6.3008e-03  6e-09  1e-16  3e-18\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  7.5719e-03 -9.9538e-01  1e+00  0e+00  3e+00\n",
      " 1:  7.5651e-03 -5.3439e-03  1e-02  2e-16  3e-02\n",
      " 2:  7.3392e-03  5.8872e-03  1e-03  1e-16  3e-03\n",
      " 3:  7.2471e-03  7.1875e-03  6e-05  6e-17  6e-18\n",
      " 4:  7.2468e-03  7.2462e-03  6e-07  1e-16  3e-18\n",
      " 5:  7.2468e-03  7.2468e-03  6e-09  1e-16  3e-18\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  8.6844e-03 -9.9468e-01  1e+00  0e+00  3e+00\n",
      " 1:  8.6755e-03 -4.6371e-03  1e-02  2e-16  3e-02\n",
      " 2:  8.4034e-03  6.8590e-03  2e-03  7e-17  3e-03\n",
      " 3:  8.3081e-03  8.2491e-03  6e-05  1e-16  5e-18\n",
      " 4:  8.3079e-03  8.3073e-03  6e-07  1e-16  3e-18\n",
      " 5:  8.3079e-03  8.3079e-03  6e-09  9e-17  4e-18\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  9.9319e-03 -9.9389e-01  1e+00  0e+00  3e+00\n",
      " 1:  9.9203e-03 -3.8398e-03  1e-02  2e-16  3e-02\n",
      " 2:  9.5956e-03  7.9627e-03  2e-03  8e-17  4e-03\n",
      " 3:  9.4983e-03  9.4407e-03  6e-05  1e-16  1e-17\n",
      " 4:  9.4981e-03  9.4975e-03  6e-07  5e-17  3e-18\n",
      " 5:  9.4981e-03  9.4981e-03  6e-09  4e-17  5e-18\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  1.1331e-02 -9.9301e-01  1e+00  0e+00  3e+00\n",
      " 1:  1.1316e-02 -2.9400e-03  1e-02  1e-16  4e-02\n",
      " 2:  1.0931e-02  9.2158e-03  2e-03  9e-17  4e-03\n",
      " 3:  1.0833e-02  1.0778e-02  6e-05  2e-16  3e-18\n",
      " 4:  1.0833e-02  1.0833e-02  6e-07  1e-16  7e-18\n",
      " 5:  1.0833e-02  1.0833e-02  6e-09  1e-16  9e-18\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  1.2899e-02 -9.9201e-01  1e+00  0e+00  3e+00\n",
      " 1:  1.2880e-02 -1.9242e-03  1e-02  9e-17  4e-02\n",
      " 2:  1.2429e-02  1.0638e-02  2e-03  7e-17  4e-03\n",
      " 3:  1.2331e-02  1.2279e-02  5e-05  1e-16  6e-18\n",
      " 4:  1.2331e-02  1.2330e-02  5e-07  3e-17  5e-18\n",
      " 5:  1.2331e-02  1.2331e-02  5e-09  4e-17  1e-17\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  1.4658e-02 -9.9089e-01  1e+00  0e+00  3e+00\n",
      " 1:  1.4633e-02 -7.7655e-04  2e-02  1e-16  4e-02\n",
      " 2:  1.4107e-02  1.2251e-02  2e-03  8e-17  4e-03\n",
      " 3:  1.4011e-02  1.3960e-02  5e-05  7e-17  5e-06\n",
      " 4:  1.4011e-02  1.4010e-02  5e-07  6e-17  5e-08\n",
      " 5:  1.4011e-02  1.4011e-02  5e-09  4e-17  5e-10\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  1.6629e-02 -9.8962e-01  1e+00  0e+00  3e+00\n",
      " 1:  1.6597e-02  5.2075e-04  2e-02  2e-16  4e-02\n",
      " 2:  1.5988e-02  1.4080e-02  2e-03  2e-16  4e-03\n",
      " 3:  1.5896e-02  1.5847e-02  5e-05  1e-16  1e-05\n",
      " 4:  1.5895e-02  1.5895e-02  5e-07  2e-16  1e-07\n",
      " 5:  1.5895e-02  1.5895e-02  5e-09  2e-16  1e-09\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  1.8839e-02 -9.8819e-01  1e+00  0e+00  3e+00\n",
      " 1:  1.8799e-02  1.9882e-03  2e-02  2e-16  4e-02\n",
      " 2:  1.8098e-02  1.6153e-02  2e-03  8e-17  3e-03\n",
      " 3:  1.8010e-02  1.7963e-02  5e-05  1e-16  1e-05\n",
      " 4:  1.8010e-02  1.8010e-02  5e-07  1e-16  1e-07\n",
      " 5:  1.8010e-02  1.8010e-02  5e-09  3e-17  1e-09\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  2.1316e-02 -9.8658e-01  1e+00  0e+00  3e+00\n",
      " 1:  2.1265e-02  3.6491e-03  2e-02  1e-16  4e-02\n",
      " 2:  2.0465e-02  1.8501e-02  2e-03  1e-16  3e-03\n",
      " 3:  2.0382e-02  2.0338e-02  4e-05  1e-16  2e-05\n",
      " 4:  2.0382e-02  2.0382e-02  4e-07  1e-16  2e-07\n",
      " 5:  2.0382e-02  2.0382e-02  4e-09  7e-17  2e-09\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  2.4092e-02 -9.8475e-01  1e+00  3e-16  3e+00\n",
      " 1:  2.4029e-02  5.5303e-03  2e-02  1e-16  5e-02\n",
      " 2:  2.3119e-02  2.1158e-02  2e-03  1e-16  3e-03\n",
      " 3:  2.3044e-02  2.3003e-02  4e-05  4e-17  2e-05\n",
      " 4:  2.3044e-02  2.3044e-02  4e-07  8e-17  2e-07\n",
      " 5:  2.3044e-02  2.3044e-02  4e-09  1e-16  2e-09\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  2.7203e-02 -9.8269e-01  1e+00  0e+00  3e+00\n",
      " 1:  2.7124e-02  7.6625e-03  2e-02  1e-16  5e-02\n",
      " 2:  2.6097e-02  2.4164e-02  2e-03  6e-17  2e-03\n",
      " 3:  2.6030e-02  2.5992e-02  4e-05  7e-17  2e-05\n",
      " 4:  2.6030e-02  2.6030e-02  4e-07  2e-16  2e-07\n",
      " 5:  2.6030e-02  2.6030e-02  4e-09  1e-16  2e-09\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  3.0690e-02 -9.8036e-01  1e+00  0e+00  3e+00\n",
      " 1:  3.0592e-02  1.0081e-02  2e-02  8e-17  5e-02\n",
      " 2:  2.9439e-02  2.7561e-02  2e-03  1e-16  2e-03\n",
      " 3:  2.9381e-02  2.9347e-02  3e-05  7e-17  2e-05\n",
      " 4:  2.9381e-02  2.9380e-02  3e-07  2e-16  2e-07\n",
      " 5:  2.9381e-02  2.9381e-02  3e-09  2e-16  2e-09\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  3.4597e-02 -9.7772e-01  1e+00  0e+00  3e+00\n",
      " 1:  3.4475e-02  1.2826e-02  2e-02  6e-17  5e-02\n",
      " 2:  3.3189e-02  3.1397e-02  2e-03  2e-16  1e-03\n",
      " 3:  3.3140e-02  3.3109e-02  3e-05  1e-16  1e-05\n",
      " 4:  3.3140e-02  3.3139e-02  3e-07  1e-16  1e-07\n",
      " 5:  3.3140e-02  3.3140e-02  3e-09  1e-16  1e-09\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  3.8974e-02 -9.7473e-01  1e+00  2e-16  3e+00\n",
      " 1:  3.8824e-02  1.5943e-02  2e-02  1e-16  6e-02\n",
      " 2:  3.7398e-02  3.5722e-02  2e-03  1e-16  2e-04\n",
      " 3:  3.7357e-02  3.7331e-02  3e-05  9e-17  2e-06\n",
      " 4:  3.7357e-02  3.7357e-02  3e-07  3e-17  2e-08\n",
      " 5:  3.7357e-02  3.7357e-02  3e-09  5e-17  2e-10\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  4.3877e-02 -9.7134e-01  1e+00  2e-16  3e+00\n",
      " 1:  4.3694e-02  1.9486e-02  2e-02  8e-17  6e-02\n",
      " 2:  4.2125e-02  4.0361e-02  2e-03  3e-17  2e-17\n",
      " 3:  4.2090e-02  4.2063e-02  3e-05  2e-16  9e-18\n",
      " 4:  4.2090e-02  4.2089e-02  3e-07  1e-16  1e-17\n",
      " 5:  4.2090e-02  4.2090e-02  3e-09  1e-16  2e-17\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  4.9371e-02 -9.6750e-01  1e+00  2e-16  3e+00\n",
      " 1:  4.9147e-02  2.3515e-02  3e-02  2e-16  6e-02\n",
      " 2:  4.7433e-02  4.5509e-02  2e-03  2e-16  2e-17\n",
      " 3:  4.7399e-02  4.7372e-02  3e-05  8e-17  1e-17\n",
      " 4:  4.7399e-02  4.7399e-02  3e-07  1e-16  2e-17\n",
      " 5:  4.7399e-02  4.7399e-02  3e-09  2e-16  3e-17\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  5.5524e-02 -9.6315e-01  1e+00  0e+00  3e+00\n",
      " 1:  5.5252e-02  2.8100e-02  3e-02  6e-17  7e-02\n",
      " 2:  5.3388e-02  5.1310e-02  2e-03  4e-17  2e-17\n",
      " 3:  5.3357e-02  5.3328e-02  3e-05  6e-17  4e-17\n",
      " 4:  5.3357e-02  5.3356e-02  3e-07  7e-17  3e-17\n",
      " 5:  5.3357e-02  5.3357e-02  3e-09  1e-16  7e-18\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  6.2415e-02 -9.5821e-01  1e+00  1e-16  3e+00\n",
      " 1:  6.2087e-02  3.3320e-02  3e-02  1e-16  7e-02\n",
      " 2:  6.0070e-02  5.7847e-02  2e-03  8e-17  2e-17\n",
      " 3:  6.0041e-02  6.0011e-02  3e-05  2e-16  3e-17\n",
      " 4:  6.0041e-02  6.0041e-02  3e-07  2e-16  3e-17\n",
      " 5:  6.0041e-02  6.0041e-02  3e-09  2e-16  2e-17\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  7.0133e-02 -9.5260e-01  1e+00  4e-16  3e+00\n",
      " 1:  6.9739e-02  3.9265e-02  3e-02  6e-17  8e-02\n",
      " 2:  6.7568e-02  6.5212e-02  2e-03  7e-17  2e-17\n",
      " 3:  6.7541e-02  6.7510e-02  3e-05  8e-17  4e-17\n",
      " 4:  6.7541e-02  6.7540e-02  3e-07  6e-17  2e-17\n",
      " 5:  6.7541e-02  6.7541e-02  3e-09  2e-16  3e-17\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  7.8777e-02 -9.4623e-01  1e+00  0e+00  3e+00\n",
      " 1:  7.8305e-02  4.6040e-02  3e-02  3e-17  8e-02\n",
      " 2:  7.5982e-02  7.3508e-02  2e-03  1e-16  3e-17\n",
      " 3:  7.5955e-02  7.5924e-02  3e-05  7e-17  2e-17\n",
      " 4:  7.5955e-02  7.5955e-02  3e-07  6e-17  5e-17\n",
      " 5:  7.5955e-02  7.5955e-02  3e-09  1e-16  3e-17\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  8.8456e-02 -9.3899e-01  1e+00  0e+00  3e+00\n",
      " 1:  8.7895e-02  5.3761e-02  3e-02  1e-16  8e-02\n",
      " 2:  8.5422e-02  8.2849e-02  3e-03  1e-16  1e-17\n",
      " 3:  8.5397e-02  8.5365e-02  3e-05  8e-17  5e-17\n",
      " 4:  8.5397e-02  8.5397e-02  3e-07  1e-16  4e-17\n",
      " 5:  8.5397e-02  8.5397e-02  3e-09  8e-17  5e-17\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  9.9295e-02 -9.3076e-01  1e+00  2e-16  3e+00\n",
      " 1:  9.8630e-02  6.2562e-02  4e-02  6e-17  9e-02\n",
      " 2:  9.6014e-02  9.3363e-02  3e-03  1e-16  4e-17\n",
      " 3:  9.5990e-02  9.5958e-02  3e-05  6e-17  5e-17\n",
      " 4:  9.5990e-02  9.5990e-02  3e-07  9e-17  4e-17\n",
      " 5:  9.5990e-02  9.5990e-02  3e-09  6e-17  4e-17\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  1.1143e-01 -9.2141e-01  1e+00  2e-16  3e+00\n",
      " 1:  1.1065e-01  7.2596e-02  4e-02  1e-16  9e-02\n",
      " 2:  1.0790e-01  1.0519e-01  3e-03  6e-17  9e-17\n",
      " 3:  1.0788e-01  1.0784e-01  3e-05  1e-16  8e-17\n",
      " 4:  1.0788e-01  1.0788e-01  3e-07  6e-17  5e-17\n",
      " 5:  1.0788e-01  1.0788e-01  3e-09  1e-16  6e-17\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  1.2502e-01 -9.1076e-01  1e+00  0e+00  3e+00\n",
      " 1:  1.2411e-01  8.4034e-02  4e-02  1e-16  1e-01\n",
      " 2:  1.2123e-01  1.1850e-01  3e-03  7e-17  6e-17\n",
      " 3:  1.2121e-01  1.2118e-01  3e-05  3e-17  5e-17\n",
      " 4:  1.2121e-01  1.2121e-01  3e-07  7e-17  4e-17\n",
      " 5:  1.2121e-01  1.2121e-01  3e-09  7e-17  3e-17\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  1.4024e-01 -8.9866e-01  1e+00  2e-16  3e+00\n",
      " 1:  1.3918e-01  9.7072e-02  4e-02  2e-16  1e-01\n",
      " 2:  1.3620e-01  1.3346e-01  3e-03  1e-16  3e-17\n",
      " 3:  1.3618e-01  1.3615e-01  3e-05  1e-16  6e-17\n",
      " 4:  1.3618e-01  1.3618e-01  3e-07  4e-17  9e-17\n",
      " 5:  1.3618e-01  1.3618e-01  3e-09  1e-16  1e-16\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  1.5729e-01 -8.8489e-01  1e+00  2e-16  3e+00\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      " 1:  1.5605e-01  1.1193e-01  4e-02  4e-17  1e-01\n",
      " 2:  1.5298e-01  1.5027e-01  3e-03  4e-17  1e-16\n",
      " 3:  1.5297e-01  1.5294e-01  3e-05  1e-16  5e-17\n",
      " 4:  1.5297e-01  1.5297e-01  3e-07  1e-16  8e-17\n",
      " 5:  1.5297e-01  1.5297e-01  3e-09  1e-16  9e-17\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  1.7638e-01 -8.6923e-01  1e+00  2e-16  3e+00\n",
      " 1:  1.7496e-01  1.2885e-01  5e-02  2e-16  1e-01\n",
      " 2:  1.7182e-01  1.6916e-01  3e-03  1e-16  2e-16\n",
      " 3:  1.7180e-01  1.7177e-01  3e-05  2e-16  8e-17\n",
      " 4:  1.7180e-01  1.7180e-01  3e-07  1e-16  9e-17\n",
      " 5:  1.7180e-01  1.7180e-01  3e-09  9e-17  3e-17\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  1.9775e-01 -8.5142e-01  1e+00  1e-16  3e+00\n",
      " 1:  1.9613e-01  1.4811e-01  5e-02  1e-16  1e-01\n",
      " 2:  1.9296e-01  1.9038e-01  3e-03  4e-17  1e-16\n",
      " 3:  1.9294e-01  1.9291e-01  3e-05  1e-16  6e-17\n",
      " 4:  1.9294e-01  1.9294e-01  3e-07  8e-17  1e-16\n",
      " 5:  1.9294e-01  1.9294e-01  3e-09  9e-17  8e-17\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  2.2170e-01 -8.3118e-01  1e+00  0e+00  3e+00\n",
      " 1:  2.1986e-01  1.7003e-01  5e-02  1e-16  1e-01\n",
      " 2:  2.1667e-01  2.1420e-01  2e-03  6e-17  9e-17\n",
      " 3:  2.1666e-01  2.1663e-01  3e-05  7e-17  7e-17\n",
      " 4:  2.1666e-01  2.1666e-01  3e-07  1e-16  8e-17\n",
      " 5:  2.1666e-01  2.1666e-01  3e-09  8e-17  1e-16\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  2.4852e-01 -8.0816e-01  1e+00  2e-16  3e+00\n",
      " 1:  2.4645e-01  1.9494e-01  5e-02  8e-17  1e-01\n",
      " 2:  2.4328e-01  2.4093e-01  2e-03  8e-17  1e-16\n",
      " 3:  2.4327e-01  2.4324e-01  2e-05  3e-16  6e-17\n",
      " 4:  2.4327e-01  2.4327e-01  2e-07  1e-16  1e-16\n",
      " 5:  2.4327e-01  2.4327e-01  2e-09  1e-16  7e-17\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  2.7857e-01 -7.8201e-01  1e+00  2e-16  3e+00\n",
      " 1:  2.7626e-01  2.2323e-01  5e-02  4e-17  1e-01\n",
      " 2:  2.7313e-01  2.7094e-01  2e-03  1e-16  9e-17\n",
      " 3:  2.7312e-01  2.7310e-01  2e-05  8e-17  4e-17\n",
      " 4:  2.7312e-01  2.7312e-01  2e-07  8e-17  2e-16\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  3.1224e-01 -7.5232e-01  1e+00  2e-16  3e+00\n",
      " 1:  3.0968e-01  2.5534e-01  5e-02  4e-17  1e-01\n",
      " 2:  3.0663e-01  3.0460e-01  2e-03  1e-16  2e-16\n",
      " 3:  3.0662e-01  3.0660e-01  2e-05  2e-16  1e-16\n",
      " 4:  3.0662e-01  3.0662e-01  2e-07  2e-16  2e-16\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  3.4996e-01 -7.1861e-01  1e+00  2e-16  3e+00\n",
      " 1:  3.4716e-01  2.9174e-01  6e-02  6e-17  1e-01\n",
      " 2:  3.4421e-01  3.4237e-01  2e-03  1e-16  2e-16\n",
      " 3:  3.4421e-01  3.4419e-01  2e-05  2e-16  2e-16\n",
      " 4:  3.4421e-01  3.4421e-01  2e-07  2e-16  1e-16\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  3.9225e-01 -6.8037e-01  1e+00  0e+00  3e+00\n",
      " 1:  3.8920e-01  3.3296e-01  6e-02  1e-16  1e-01\n",
      " 2:  3.8639e-01  3.8465e-01  2e-03  1e-16  2e-04\n",
      " 3:  3.8638e-01  3.8636e-01  2e-05  1e-16  2e-06\n",
      " 4:  3.8638e-01  3.8638e-01  2e-07  7e-17  2e-08\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  4.3965e-01 -6.3702e-01  1e+00  0e+00  3e+00\n",
      " 1:  4.3635e-01  3.7959e-01  6e-02  1e-16  1e-01\n",
      " 2:  4.3370e-01  4.3203e-01  2e-03  9e-17  5e-04\n",
      " 3:  4.3370e-01  4.3368e-01  2e-05  2e-16  6e-06\n",
      " 4:  4.3370e-01  4.3370e-01  2e-07  2e-16  6e-08\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  4.9279e-01 -5.8791e-01  1e+00  2e-16  3e+00\n",
      " 1:  4.8926e-01  4.3227e-01  6e-02  1e-16  1e-01\n",
      " 2:  4.8680e-01  4.8521e-01  2e-03  2e-16  8e-04\n",
      " 3:  4.8679e-01  4.8678e-01  2e-05  1e-16  8e-06\n",
      " 4:  4.8679e-01  4.8679e-01  2e-07  2e-16  8e-08\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  5.5237e-01 -5.3230e-01  1e+00  2e-16  3e+00\n",
      " 1:  5.4863e-01  4.9173e-01  6e-02  7e-17  1e-01\n",
      " 2:  5.4637e-01  5.4488e-01  1e-03  7e-17  1e-03\n",
      " 3:  5.4636e-01  5.4635e-01  1e-05  3e-17  1e-05\n",
      " 4:  5.4636e-01  5.4636e-01  1e-07  1e-16  1e-07\n",
      " 5:  5.4636e-01  5.4636e-01  1e-09  2e-16  1e-09\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  6.1918e-01 -4.6938e-01  1e+00  2e-16  3e+00\n",
      " 1:  6.1526e-01  5.5877e-01  6e-02  1e-16  1e-01\n",
      " 2:  6.1320e-01  6.1183e-01  1e-03  7e-17  1e-03\n",
      " 3:  6.1320e-01  6.1319e-01  1e-05  7e-17  1e-05\n",
      " 4:  6.1320e-01  6.1320e-01  1e-07  3e-17  1e-07\n",
      " 5:  6.1320e-01  6.1320e-01  1e-09  7e-17  1e-09\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  6.9411e-01 -3.9825e-01  1e+00  2e-16  3e+00\n",
      " 1:  6.9004e-01  6.3428e-01  6e-02  2e-16  1e-01\n",
      " 2:  6.8820e-01  6.8694e-01  1e-03  6e-17  1e-03\n",
      " 3:  6.8820e-01  6.8818e-01  1e-05  1e-16  1e-05\n",
      " 4:  6.8820e-01  6.8820e-01  1e-07  2e-16  1e-07\n",
      " 5:  6.8820e-01  6.8820e-01  1e-09  2e-16  1e-09\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  7.7816e-01 -3.1789e-01  1e+00  2e-16  3e+00\n",
      " 1:  7.7396e-01  7.1925e-01  5e-02  1e-16  1e-01\n",
      " 2:  7.7234e-01  7.7120e-01  1e-03  1e-16  1e-03\n",
      " 3:  7.7234e-01  7.7233e-01  1e-05  2e-16  1e-05\n",
      " 4:  7.7234e-01  7.7234e-01  1e-07  1e-16  1e-07\n",
      " 5:  7.7234e-01  7.7234e-01  1e-09  6e-17  1e-09\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  8.7245e-01 -2.2715e-01  1e+00  0e+00  3e+00\n",
      " 1:  8.6816e-01  8.1478e-01  5e-02  1e-16  1e-01\n",
      " 2:  8.6676e-01  8.6573e-01  1e-03  8e-17  1e-03\n",
      " 3:  8.6676e-01  8.6674e-01  1e-05  2e-16  1e-05\n",
      " 4:  8.6676e-01  8.6676e-01  1e-07  7e-17  1e-07\n",
      " 5:  8.6676e-01  8.6676e-01  1e-09  3e-17  1e-09\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  9.7822e-01 -1.2478e-01  1e+00  2e-16  3e+00\n",
      " 1:  9.7389e-01  9.2210e-01  5e-02  1e-16  1e-01\n",
      " 2:  9.7269e-01  9.7178e-01  9e-04  1e-16  1e-03\n",
      " 3:  9.7269e-01  9.7268e-01  9e-06  6e-17  1e-05\n",
      " 4:  9.7269e-01  9.7269e-01  9e-08  6e-17  1e-07\n",
      " 5:  9.7269e-01  9.7269e-01  9e-10  3e-17  1e-09\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  1.0969e+00 -9.3384e-03  1e+00  0e+00  3e+00\n",
      " 1:  1.0926e+00  1.0426e+00  5e-02  6e-17  1e-01\n",
      " 2:  1.0915e+00  1.0907e+00  8e-04  6e-17  1e-03\n",
      " 3:  1.0915e+00  1.0915e+00  8e-06  9e-17  1e-05\n",
      " 4:  1.0915e+00  1.0915e+00  8e-08  4e-17  1e-07\n",
      " 5:  1.0915e+00  1.0915e+00  8e-10  8e-17  1e-09\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  1.2301e+00  1.2075e-01  1e+00  1e-16  3e+00\n",
      " 1:  1.2258e+00  1.1778e+00  5e-02  6e-17  1e-01\n",
      " 2:  1.2249e+00  1.2242e+00  7e-04  3e-17  1e-03\n",
      " 3:  1.2249e+00  1.2249e+00  7e-06  4e-17  1e-05\n",
      " 4:  1.2249e+00  1.2249e+00  7e-08  1e-16  1e-07\n",
      " 5:  1.2249e+00  1.2249e+00  7e-10  8e-17  1e-09\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  1.3795e+00  2.6727e-01  1e+00  1e-16  3e+00\n",
      " 1:  1.3752e+00  1.3295e+00  5e-02  1e-16  1e-01\n",
      " 2:  1.3745e+00  1.3739e+00  6e-04  1e-16  1e-03\n",
      " 3:  1.3745e+00  1.3745e+00  6e-06  2e-16  1e-05\n",
      " 4:  1.3745e+00  1.3745e+00  6e-08  4e-17  1e-07\n",
      " 5:  1.3745e+00  1.3745e+00  6e-10  8e-17  1e-09\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.5694e-03 -1.0025e+00  1e+00  4e-16  3e+00\n",
      " 1: -1.5700e-03 -1.2489e-02  1e-02  6e-17  3e-02\n",
      " 2: -1.6273e-03 -2.5893e-03  1e-03  8e-17  2e-03\n",
      " 3: -2.4394e-03 -2.8681e-03  4e-04  4e-16  6e-04\n",
      " 4: -2.4858e-03 -2.4926e-03  7e-06  2e-16  9e-06\n",
      " 5: -2.4888e-03 -2.4889e-03  7e-08  2e-16  9e-08\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.8059e-03 -1.0035e+00  1e+00  2e-16  3e+00\n",
      " 1: -1.8078e-03 -1.3468e-02  1e-02  1e-16  3e-02\n",
      " 2: -1.9713e-03 -3.5622e-03  2e-03  8e-17  4e-03\n",
      " 3: -3.3969e-03 -3.9680e-03  6e-04  2e-15  4e-04\n",
      " 4: -3.4342e-03 -3.4414e-03  7e-06  4e-16  6e-06\n",
      " 5: -3.4361e-03 -3.4361e-03  7e-08  1e-16  6e-08\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.8039e-03 -1.0035e+00  1e+00  4e-16  3e+00\n",
      " 1: -1.8059e-03 -1.3465e-02  1e-02  1e-16  3e-02\n",
      " 2: -1.9691e-03 -3.5588e-03  2e-03  1e-16  4e-03\n",
      " 3: -3.3913e-03 -3.9600e-03  6e-04  4e-16  4e-04\n",
      " 4: -3.4277e-03 -3.4348e-03  7e-06  2e-16  5e-06\n",
      " 5: -3.4295e-03 -3.4296e-03  7e-08  2e-16  5e-08\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.8017e-03 -1.0035e+00  1e+00  0e+00  3e+00\n",
      " 1: -1.8036e-03 -1.3462e-02  1e-02  1e-16  3e-02\n",
      " 2: -1.9666e-03 -3.5550e-03  2e-03  1e-16  4e-03\n",
      " 3: -3.3850e-03 -3.9510e-03  6e-04  2e-16  4e-04\n",
      " 4: -3.4204e-03 -3.4275e-03  7e-06  5e-19  5e-06\n",
      " 5: -3.4221e-03 -3.4222e-03  7e-08  7e-20  5e-08\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.7992e-03 -1.0035e+00  1e+00  0e+00  3e+00\n",
      " 1: -1.8011e-03 -1.3459e-02  1e-02  1e-16  3e-02\n",
      " 2: -1.9638e-03 -3.5508e-03  2e-03  6e-17  4e-03\n",
      " 3: -3.3779e-03 -3.9410e-03  6e-04  9e-16  4e-04\n",
      " 4: -3.4122e-03 -3.4192e-03  7e-06  1e-16  5e-06\n",
      " 5: -3.4139e-03 -3.4140e-03  7e-08  3e-16  5e-08\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.7964e-03 -1.0035e+00  1e+00  2e-16  3e+00\n",
      " 1: -1.7983e-03 -1.3455e-02  1e-02  6e-17  3e-02\n",
      " 2: -1.9607e-03 -3.5460e-03  2e-03  2e-16  4e-03\n",
      " 3: -3.3700e-03 -3.9299e-03  6e-04  4e-16  4e-04\n",
      " 4: -3.4029e-03 -3.4099e-03  7e-06  1e-16  5e-06\n",
      " 5: -3.4046e-03 -3.4047e-03  7e-08  2e-16  5e-08\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.7932e-03 -1.0035e+00  1e+00  0e+00  3e+00\n",
      " 1: -1.7951e-03 -1.3451e-02  1e-02  1e-16  3e-02\n",
      " 2: -1.9572e-03 -3.5407e-03  2e-03  1e-16  4e-03\n",
      " 3: -3.3611e-03 -3.9174e-03  6e-04  4e-16  4e-04\n",
      " 4: -3.3926e-03 -3.3995e-03  7e-06  1e-16  5e-06\n",
      " 5: -3.3942e-03 -3.3943e-03  7e-08  2e-16  5e-08\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.7897e-03 -1.0034e+00  1e+00  0e+00  3e+00\n",
      " 1: -1.7916e-03 -1.3446e-02  1e-02  8e-17  3e-02\n",
      " 2: -1.9533e-03 -3.5347e-03  2e-03  1e-16  4e-03\n",
      " 3: -3.3512e-03 -3.9034e-03  6e-04  4e-16  3e-04\n",
      " 4: -3.3810e-03 -3.3878e-03  7e-06  1e-18  4e-06\n",
      " 5: -3.3826e-03 -3.3827e-03  7e-08  4e-20  4e-08\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.7857e-03 -1.0034e+00  1e+00  2e-16  3e+00\n",
      " 1: -1.7876e-03 -1.3441e-02  1e-02  3e-17  3e-02\n",
      " 2: -1.9489e-03 -3.5280e-03  2e-03  6e-17  4e-03\n",
      " 3: -3.3400e-03 -3.8877e-03  5e-04  1e-16  3e-04\n",
      " 4: -3.3680e-03 -3.3747e-03  7e-06  4e-16  4e-06\n",
      " 5: -3.3695e-03 -3.3696e-03  7e-08  3e-16  4e-08\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.7813e-03 -1.0034e+00  1e+00  0e+00  3e+00\n",
      " 1: -1.7832e-03 -1.3435e-02  1e-02  8e-17  3e-02\n",
      " 2: -1.9439e-03 -3.5205e-03  2e-03  1e-16  4e-03\n",
      " 3: -3.3275e-03 -3.8703e-03  5e-04  4e-16  3e-04\n",
      " 4: -3.3534e-03 -3.3600e-03  7e-06  2e-16  4e-06\n",
      " 5: -3.3548e-03 -3.3549e-03  7e-08  3e-16  4e-08\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.7763e-03 -1.0034e+00  1e+00  1e-16  3e+00\n",
      " 1: -1.7782e-03 -1.3428e-02  1e-02  5e-17  3e-02\n",
      " 2: -1.9383e-03 -3.5121e-03  2e-03  2e-16  4e-03\n",
      " 3: -3.3134e-03 -3.8507e-03  5e-04  9e-16  3e-04\n",
      " 4: -3.3371e-03 -3.3435e-03  6e-06  2e-16  3e-06\n",
      " 5: -3.3384e-03 -3.3384e-03  6e-08  1e-16  3e-08\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.7707e-03 -1.0034e+00  1e+00  2e-16  3e+00\n",
      " 1: -1.7726e-03 -1.3421e-02  1e-02  6e-17  3e-02\n",
      " 2: -1.9321e-03 -3.5026e-03  2e-03  1e-16  4e-03\n",
      " 3: -3.2975e-03 -3.8289e-03  5e-04  7e-16  2e-04\n",
      " 4: -3.3187e-03 -3.3250e-03  6e-06  5e-19  3e-06\n",
      " 5: -3.3199e-03 -3.3200e-03  6e-08  1e-16  3e-08\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.7644e-03 -1.0034e+00  1e+00  0e+00  3e+00\n",
      " 1: -1.7663e-03 -1.3412e-02  1e-02  6e-17  3e-02\n",
      " 2: -1.9251e-03 -3.4920e-03  2e-03  6e-17  4e-03\n",
      " 3: -3.2797e-03 -3.8046e-03  5e-04  1e-16  2e-04\n",
      " 4: -3.2981e-03 -3.3042e-03  6e-06  1e-16  2e-06\n",
      " 5: -3.2992e-03 -3.2992e-03  6e-08  2e-16  2e-08\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.7573e-03 -1.0034e+00  1e+00  3e-16  3e+00\n",
      " 1: -1.7592e-03 -1.3403e-02  1e-02  1e-16  3e-02\n",
      " 2: -1.9173e-03 -3.4802e-03  2e-03  6e-17  4e-03\n",
      " 3: -3.2597e-03 -3.7774e-03  5e-04  1e-15  1e-04\n",
      " 4: -3.2750e-03 -3.2809e-03  6e-06  1e-16  2e-06\n",
      " 5: -3.2759e-03 -3.2760e-03  6e-08  2e-16  2e-08\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.7494e-03 -1.0034e+00  1e+00  2e-16  3e+00\n",
      " 1: -1.7513e-03 -1.3392e-02  1e-02  1e-16  3e-02\n",
      " 2: -1.9085e-03 -3.4669e-03  2e-03  2e-16  4e-03\n",
      " 3: -3.2356e-03 -3.7466e-03  5e-04  2e-16  9e-05\n",
      " 4: -3.2490e-03 -3.2548e-03  6e-06  1e-16  1e-06\n",
      " 5: -3.2498e-03 -3.2499e-03  6e-08  1e-16  1e-08\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.7405e-03 -1.0034e+00  1e+00  2e-16  3e+00\n",
      " 1: -1.7424e-03 -1.3380e-02  1e-02  1e-16  3e-02\n",
      " 2: -1.8986e-03 -3.4519e-03  2e-03  8e-17  4e-03\n",
      " 3: -3.2061e-03 -3.7113e-03  5e-04  4e-16  4e-05\n",
      " 4: -3.2197e-03 -3.2254e-03  6e-06  4e-19  5e-07\n",
      " 5: -3.2205e-03 -3.2206e-03  6e-08  1e-16  5e-09\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.7305e-03 -1.0034e+00  1e+00  2e-16  3e+00\n",
      " 1: -1.7324e-03 -1.3367e-02  1e-02  8e-17  3e-02\n",
      " 2: -1.8876e-03 -3.4352e-03  2e-03  4e-17  4e-03\n",
      " 3: -3.1694e-03 -3.6708e-03  5e-04  3e-16  9e-19\n",
      " 4: -3.1865e-03 -3.1925e-03  6e-06  4e-19  7e-19\n",
      " 5: -3.1877e-03 -3.1877e-03  6e-08  2e-16  4e-19\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.7194e-03 -1.0034e+00  1e+00  2e-16  3e+00\n",
      " 1: -1.7212e-03 -1.3352e-02  1e-02  4e-17  3e-02\n",
      " 2: -1.8752e-03 -3.4165e-03  2e-03  1e-16  4e-03\n",
      " 3: -3.1146e-03 -3.6210e-03  5e-04  4e-16  1e-18\n",
      " 4: -3.1484e-03 -3.1555e-03  7e-06  1e-16  6e-19\n",
      " 5: -3.1508e-03 -3.1508e-03  7e-08  3e-16  1e-18\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.7068e-03 -1.0033e+00  1e+00  0e+00  3e+00\n",
      " 1: -1.7086e-03 -1.3335e-02  1e-02  9e-17  3e-02\n",
      " 2: -1.8613e-03 -3.3955e-03  2e-03  9e-17  4e-03\n",
      " 3: -3.0549e-03 -3.5658e-03  5e-04  2e-16  7e-19\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      " 4: -3.1055e-03 -3.1140e-03  8e-06  2e-16  8e-19\n",
      " 5: -3.1094e-03 -3.1095e-03  8e-08  2e-19  9e-19\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.6927e-03 -1.0033e+00  1e+00  2e-16  3e+00\n",
      " 1: -1.6945e-03 -1.3316e-02  1e-02  1e-16  3e-02\n",
      " 2: -1.8457e-03 -3.3720e-03  2e-03  9e-17  4e-03\n",
      " 3: -2.9901e-03 -3.5049e-03  5e-04  1e-16  5e-19\n",
      " 4: -3.0573e-03 -3.0674e-03  1e-05  2e-16  1e-18\n",
      " 5: -3.0630e-03 -3.0631e-03  1e-07  1e-16  6e-19\n",
      " 6: -3.0630e-03 -3.0630e-03  1e-09  2e-16  4e-19\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.6769e-03 -1.0033e+00  1e+00  2e-16  3e+00\n",
      " 1: -1.6787e-03 -1.3295e-02  1e-02  1e-16  3e-02\n",
      " 2: -1.8282e-03 -3.3457e-03  2e-03  6e-17  4e-03\n",
      " 3: -2.9200e-03 -3.4378e-03  5e-04  2e-16  8e-19\n",
      " 4: -3.0030e-03 -3.0152e-03  1e-05  2e-16  8e-19\n",
      " 5: -3.0109e-03 -3.0110e-03  1e-07  1e-16  9e-19\n",
      " 6: -3.0110e-03 -3.0110e-03  1e-09  2e-16  4e-19\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.6592e-03 -1.0033e+00  1e+00  3e-16  3e+00\n",
      " 1: -1.6610e-03 -1.3272e-02  1e-02  6e-17  3e-02\n",
      " 2: -1.8086e-03 -3.3163e-03  2e-03  1e-16  4e-03\n",
      " 3: -2.8446e-03 -3.3639e-03  5e-04  4e-16  4e-19\n",
      " 4: -2.9418e-03 -2.9566e-03  1e-05  2e-16  1e-18\n",
      " 5: -2.9524e-03 -2.9526e-03  2e-07  2e-16  6e-19\n",
      " 6: -2.9525e-03 -2.9525e-03  2e-09  6e-21  9e-19\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.6393e-03 -1.0032e+00  1e+00  0e+00  3e+00\n",
      " 1: -1.6410e-03 -1.3245e-02  1e-02  2e-16  3e-02\n",
      " 2: -1.7867e-03 -3.2833e-03  1e-03  1e-16  4e-03\n",
      " 3: -2.7639e-03 -3.2829e-03  5e-04  2e-16  8e-19\n",
      " 4: -2.8728e-03 -2.8910e-03  2e-05  1e-16  7e-19\n",
      " 5: -2.8868e-03 -2.8870e-03  2e-07  1e-16  9e-19\n",
      " 6: -2.8870e-03 -2.8870e-03  2e-09  2e-16  4e-19\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.6170e-03 -1.0032e+00  1e+00  0e+00  3e+00\n",
      " 1: -1.6187e-03 -1.3215e-02  1e-02  7e-17  3e-02\n",
      " 2: -1.7621e-03 -3.2464e-03  1e-03  7e-17  4e-03\n",
      " 3: -2.6779e-03 -3.1943e-03  5e-04  2e-16  9e-19\n",
      " 4: -2.7951e-03 -2.8174e-03  2e-05  2e-16  7e-19\n",
      " 5: -2.8132e-03 -2.8134e-03  3e-07  1e-16  5e-19\n",
      " 6: -2.8134e-03 -2.8134e-03  3e-09  1e-16  7e-19\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.5919e-03 -1.0032e+00  1e+00  2e-16  3e+00\n",
      " 1: -1.5936e-03 -1.3182e-02  1e-02  8e-17  3e-02\n",
      " 2: -1.7345e-03 -3.2052e-03  1e-03  7e-17  4e-03\n",
      " 3: -2.5868e-03 -3.0978e-03  5e-04  2e-16  1e-18\n",
      " 4: -2.7078e-03 -2.7350e-03  3e-05  2e-16  4e-19\n",
      " 5: -2.7305e-03 -2.7309e-03  4e-07  1e-18  4e-19\n",
      " 6: -2.7309e-03 -2.7309e-03  4e-09  1e-16  8e-19\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.5638e-03 -1.0031e+00  1e+00  1e-16  3e+00\n",
      " 1: -1.5655e-03 -1.3144e-02  1e-02  1e-16  3e-02\n",
      " 2: -1.7036e-03 -3.1590e-03  1e-03  3e-17  4e-03\n",
      " 3: -2.4908e-03 -2.9931e-03  5e-04  1e-16  4e-19\n",
      " 4: -2.6105e-03 -2.6429e-03  3e-05  1e-16  6e-19\n",
      " 5: -2.6376e-03 -2.6383e-03  7e-07  1e-16  5e-19\n",
      " 6: -2.6383e-03 -2.6383e-03  7e-09  5e-20  3e-19\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.5323e-03 -1.0031e+00  1e+00  0e+00  3e+00\n",
      " 1: -1.5339e-03 -1.3102e-02  1e-02  1e-16  3e-02\n",
      " 2: -1.6690e-03 -3.1075e-03  1e-03  1e-16  4e-03\n",
      " 3: -2.3902e-03 -2.8801e-03  5e-04  4e-17  1e-18\n",
      " 4: -2.5032e-03 -2.5406e-03  4e-05  1e-16  9e-19\n",
      " 5: -2.5329e-03 -2.5344e-03  2e-06  2e-18  3e-19\n",
      " 6: -2.5344e-03 -2.5344e-03  2e-08  2e-16  2e-19\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.4969e-03 -1.0031e+00  1e+00  1e-16  3e+00\n",
      " 1: -1.4985e-03 -1.3055e-02  1e-02  8e-17  3e-02\n",
      " 2: -1.6303e-03 -3.0499e-03  1e-03  1e-16  3e-03\n",
      " 3: -2.2854e-03 -2.7585e-03  5e-04  1e-16  6e-19\n",
      " 4: -2.3868e-03 -2.4278e-03  4e-05  1e-16  5e-19\n",
      " 5: -2.4148e-03 -2.4181e-03  3e-06  1e-16  5e-19\n",
      " 6: -2.4177e-03 -2.4178e-03  9e-08  2e-16  3e-19\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.4572e-03 -1.0030e+00  1e+00  2e-16  3e+00\n",
      " 1: -1.4588e-03 -1.3002e-02  1e-02  1e-16  3e-02\n",
      " 2: -1.5869e-03 -2.9856e-03  1e-03  6e-17  3e-03\n",
      " 3: -2.1765e-03 -2.6287e-03  5e-04  3e-16  3e-19\n",
      " 4: -2.2631e-03 -2.3050e-03  4e-05  3e-16  8e-19\n",
      " 5: -2.2856e-03 -2.2896e-03  4e-06  1e-16  8e-19\n",
      " 6: -2.2880e-03 -2.2881e-03  1e-07  2e-16  3e-19\n",
      " 7: -2.2880e-03 -2.2880e-03  1e-09  2e-16  3e-19\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.4127e-03 -1.0029e+00  1e+00  1e-16  3e+00\n",
      " 1: -1.4142e-03 -1.2942e-02  1e-02  1e-16  3e-02\n",
      " 2: -1.5384e-03 -2.9139e-03  1e-03  2e-16  3e-03\n",
      " 3: -2.0638e-03 -2.4906e-03  4e-04  2e-16  1e-18\n",
      " 4: -2.1342e-03 -2.1737e-03  4e-05  1e-16  4e-19\n",
      " 5: -2.1516e-03 -2.1558e-03  4e-06  1e-16  4e-19\n",
      " 6: -2.1553e-03 -2.1553e-03  5e-08  1e-16  5e-19\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.3627e-03 -1.0029e+00  1e+00  2e-16  3e+00\n",
      " 1: -1.3642e-03 -1.2875e-02  1e-02  6e-17  3e-02\n",
      " 2: -1.4840e-03 -2.8339e-03  1e-03  1e-16  3e-03\n",
      " 3: -1.9476e-03 -2.3448e-03  4e-04  4e-17  7e-19\n",
      " 4: -2.0024e-03 -2.0364e-03  3e-05  1e-16  3e-19\n",
      " 5: -2.0175e-03 -2.0218e-03  4e-06  1e-16  2e-19\n",
      " 6: -2.0210e-03 -2.0211e-03  1e-07  1e-16  4e-19\n",
      " 7: -2.0211e-03 -2.0211e-03  1e-09  8e-17  2e-19\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.3066e-03 -1.0028e+00  1e+00  0e+00  3e+00\n",
      " 1: -1.3081e-03 -1.2800e-02  1e-02  2e-16  3e-02\n",
      " 2: -1.4232e-03 -2.7447e-03  1e-03  8e-17  3e-03\n",
      " 3: -1.8278e-03 -2.1916e-03  4e-04  1e-16  6e-19\n",
      " 4: -1.8689e-03 -1.8957e-03  3e-05  3e-17  5e-19\n",
      " 5: -1.8811e-03 -1.8854e-03  4e-06  1e-16  2e-19\n",
      " 6: -1.8834e-03 -1.8838e-03  4e-07  2e-16  3e-19\n",
      " 7: -1.8837e-03 -1.8837e-03  1e-08  1e-16  3e-19\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.2437e-03 -1.0027e+00  1e+00  0e+00  3e+00\n",
      " 1: -1.2452e-03 -1.2716e-02  1e-02  2e-16  3e-02\n",
      " 2: -1.3552e-03 -2.6454e-03  1e-03  1e-16  3e-03\n",
      " 3: -1.7043e-03 -2.0317e-03  3e-04  2e-16  4e-19\n",
      " 4: -1.7335e-03 -1.7638e-03  3e-05  1e-16  2e-19\n",
      " 5: -1.7414e-03 -1.7455e-03  4e-06  1e-16  2e-19\n",
      " 6: -1.7422e-03 -1.7426e-03  4e-07  1e-16  3e-19\n",
      " 7: -1.7422e-03 -1.7423e-03  3e-08  1e-16  7e-19\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.1731e-03 -1.0026e+00  1e+00  2e-16  3e+00\n",
      " 1: -1.1745e-03 -1.2622e-02  1e-02  1e-16  3e-02\n",
      " 2: -1.2791e-03 -2.5349e-03  1e-03  7e-17  3e-03\n",
      " 3: -1.5768e-03 -1.8656e-03  3e-04  2e-16  6e-19\n",
      " 4: -1.5968e-03 -1.6256e-03  3e-05  1e-16  4e-19\n",
      " 5: -1.6009e-03 -1.6034e-03  2e-06  1e-16  4e-19\n",
      " 6: -1.6010e-03 -1.6011e-03  7e-08  1e-16  2e-19\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.0940e-03 -1.0025e+00  1e+00  2e-16  3e+00\n",
      " 1: -1.0953e-03 -1.2516e-02  1e-02  1e-16  3e-02\n",
      " 2: -1.1940e-03 -2.4121e-03  1e-03  1e-16  3e-03\n",
      " 3: -1.4447e-03 -1.6938e-03  2e-04  1e-16  6e-19\n",
      " 4: -1.4579e-03 -1.4809e-03  2e-05  9e-17  2e-19\n",
      " 5: -1.4597e-03 -1.4607e-03  1e-06  2e-17  2e-19\n",
      " 6: -1.4598e-03 -1.4598e-03  2e-08  1e-16  3e-19\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.0051e-03 -1.0024e+00  1e+00  0e+00  3e+00\n",
      " 1: -1.0064e-03 -1.2398e-02  1e-02  2e-16  3e-02\n",
      " 2: -1.0990e-03 -2.2757e-03  1e-03  9e-17  3e-03\n",
      " 3: -1.3073e-03 -1.5169e-03  2e-04  2e-16  5e-19\n",
      " 4: -1.3157e-03 -1.3314e-03  2e-05  6e-17  2e-19\n",
      " 5: -1.3165e-03 -1.3173e-03  8e-07  2e-16  3e-19\n",
      " 6: -1.3166e-03 -1.3166e-03  1e-08  1e-17  9e-19\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -9.0543e-04 -1.0023e+00  1e+00  0e+00  3e+00\n",
      " 1: -9.0666e-04 -1.2265e-02  1e-02  7e-17  3e-02\n",
      " 2: -9.9273e-04 -2.1243e-03  1e-03  7e-17  3e-03\n",
      " 3: -1.1636e-03 -1.3351e-03  2e-04  8e-17  4e-19\n",
      " 4: -1.1690e-03 -1.1784e-03  9e-06  1e-16  4e-19\n",
      " 5: -1.1695e-03 -1.1699e-03  4e-07  1e-16  2e-19\n",
      " 6: -1.1695e-03 -1.1695e-03  4e-09  1e-16  5e-19\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -7.9359e-04 -1.0021e+00  1e+00  4e-16  3e+00\n",
      " 1: -7.9476e-04 -1.2115e-02  1e-02  2e-16  3e-02\n",
      " 2: -8.7410e-04 -1.9566e-03  1e-03  8e-17  3e-03\n",
      " 3: -1.0125e-03 -1.1484e-03  1e-04  2e-16  4e-19\n",
      " 4: -1.0163e-03 -1.0231e-03  7e-06  2e-16  4e-19\n",
      " 5: -1.0166e-03 -1.0168e-03  2e-07  8e-17  3e-19\n",
      " 6: -1.0166e-03 -1.0166e-03  2e-09  2e-16  4e-19\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -6.6812e-04 -1.0020e+00  1e+00  2e-16  3e+00\n",
      " 1: -6.6922e-04 -1.1948e-02  1e-02  2e-16  3e-02\n",
      " 2: -7.4165e-04 -1.7710e-03  1e-03  2e-16  3e-03\n",
      " 3: -8.5244e-04 -9.5649e-04  1e-04  8e-17  4e-19\n",
      " 4: -8.5580e-04 -8.6135e-04  6e-06  2e-16  1e-18\n",
      " 5: -8.5597e-04 -8.5607e-04  1e-07  1e-17  2e-19\n",
      " 6: -8.5597e-04 -8.5597e-04  1e-09  4e-17  3e-19\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -5.2735e-04 -1.0018e+00  1e+00  1e-16  3e+00\n",
      " 1: -5.2837e-04 -1.1760e-02  1e-02  8e-17  3e-02\n",
      " 2: -5.9382e-04 -1.5658e-03  1e-03  9e-17  2e-03\n",
      " 3: -6.8193e-04 -7.5871e-04  8e-05  1e-16  5e-19\n",
      " 4: -6.8527e-04 -6.8853e-04  3e-06  4e-17  5e-19\n",
      " 5: -6.8533e-04 -6.8538e-04  4e-08  2e-16  5e-19\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -3.6941e-04 -1.0016e+00  1e+00  2e-16  3e+00\n",
      " 1: -3.7036e-04 -1.1550e-02  1e-02  6e-17  3e-02\n",
      " 2: -4.2889e-04 -1.3393e-03  9e-04  7e-17  2e-03\n",
      " 3: -4.9898e-04 -5.6033e-04  6e-05  1e-16  2e-05\n",
      " 4: -5.0245e-04 -5.0486e-04  2e-06  1e-16  2e-07\n",
      " 5: -5.0248e-04 -5.0251e-04  3e-08  6e-17  2e-09\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.9222e-04 -1.0013e+00  1e+00  4e-16  3e+00\n",
      " 1: -1.9309e-04 -1.1314e-02  1e-02  2e-16  3e-02\n",
      " 2: -2.4493e-04 -1.0896e-03  8e-04  2e-16  2e-03\n",
      " 3: -3.0127e-04 -3.6674e-04  7e-05  1e-16  8e-05\n",
      " 4: -3.0496e-04 -3.0726e-04  2e-06  9e-17  6e-07\n",
      " 5: -3.0499e-04 -3.0501e-04  2e-08  8e-17  6e-09\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  6.5666e-06 -1.0011e+00  1e+00  1e-16  3e+00\n",
      " 1:  5.7762e-06 -1.1050e-02  1e-02  1e-16  3e-02\n",
      " 2: -3.9823e-05 -8.1483e-04  8e-04  6e-17  2e-03\n",
      " 3: -8.6634e-05 -1.5368e-04  7e-05  8e-17  1e-04\n",
      " 4: -9.0209e-05 -9.2258e-05  2e-06  1e-16  7e-07\n",
      " 5: -9.0223e-05 -9.0244e-05  2e-08  1e-16  7e-09\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  2.2958e-04 -1.0008e+00  1e+00  0e+00  3e+00\n",
      " 1:  2.2887e-04 -1.0753e-02  1e-02  1e-16  3e-02\n",
      " 2:  1.8880e-04 -5.1283e-04  7e-04  8e-17  2e-03\n",
      " 3:  1.4775e-04  8.2885e-05  6e-05  9e-17  1e-04\n",
      " 4:  1.4466e-04  1.4299e-04  2e-06  1e-16  8e-07\n",
      " 5:  1.4466e-04  1.4464e-04  2e-08  6e-17  8e-09\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  4.7978e-04 -1.0004e+00  1e+00  0e+00  3e+00\n",
      " 1:  4.7913e-04 -1.0420e-02  1e-02  6e-17  3e-02\n",
      " 2:  4.4356e-04 -1.8145e-04  6e-04  1e-16  2e-03\n",
      " 3:  4.0508e-04  3.4704e-04  6e-05  8e-17  1e-04\n",
      " 4:  4.0277e-04  4.0155e-04  1e-06  1e-16  8e-07\n",
      " 5:  4.0277e-04  4.0276e-04  1e-08  8e-17  8e-09\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  7.6047e-04 -1.0001e+00  1e+00  0e+00  3e+00\n",
      " 1:  7.5987e-04 -1.0048e-02  1e-02  1e-16  3e-02\n",
      " 2:  7.2740e-04  1.8161e-04  5e-04  2e-16  1e-03\n",
      " 3:  6.8883e-04  6.4377e-04  5e-05  2e-16  5e-05\n",
      " 4:  6.8754e-04  6.8680e-04  7e-07  8e-17  5e-07\n",
      " 5:  6.8754e-04  6.8753e-04  7e-09  9e-17  5e-09\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  1.0753e-03 -9.9964e-01  1e+00  0e+00  3e+00\n",
      " 1:  1.0748e-03 -9.6302e-03  1e-02  1e-16  3e-02\n",
      " 2:  1.0436e-03  5.7882e-04  5e-04  6e-17  1e-03\n",
      " 3:  1.0032e-03  9.7271e-04  3e-05  4e-17  2e-18\n",
      " 4:  1.0028e-03  1.0024e-03  4e-07  1e-16  3e-18\n",
      " 5:  1.0028e-03  1.0027e-03  4e-09  7e-17  2e-18\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  1.4286e-03 -9.9917e-01  1e+00  0e+00  3e+00\n",
      " 1:  1.4280e-03 -9.1622e-03  1e-02  1e-16  3e-02\n",
      " 2:  1.3960e-03  9.0479e-04  5e-04  1e-16  1e-03\n",
      " 3:  1.3529e-03  1.3198e-03  3e-05  8e-17  2e-18\n",
      " 4:  1.3526e-03  1.3522e-03  4e-07  8e-17  9e-19\n",
      " 5:  1.3526e-03  1.3526e-03  4e-09  1e-16  8e-19\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  1.8248e-03 -9.9879e-01  1e+00  2e-16  3e+00\n",
      " 1:  1.8242e-03 -8.7849e-03  1e-02  8e-17  3e-02\n",
      " 2:  1.7892e-03  1.2067e-03  6e-04  1e-16  1e-03\n",
      " 3:  1.7420e-03  1.7052e-03  4e-05  6e-17  1e-18\n",
      " 4:  1.7417e-03  1.7412e-03  4e-07  3e-17  2e-18\n",
      " 5:  1.7417e-03  1.7417e-03  4e-09  6e-17  8e-19\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  2.2693e-03 -9.9851e-01  1e+00  2e-16  3e+00\n",
      " 1:  2.2687e-03 -8.5120e-03  1e-02  9e-17  3e-02\n",
      " 2:  2.2277e-03  1.5495e-03  7e-04  3e-17  2e-03\n",
      " 3:  2.1756e-03  2.1347e-03  4e-05  7e-17  1e-18\n",
      " 4:  2.1752e-03  2.1747e-03  5e-07  8e-17  2e-18\n",
      " 5:  2.1752e-03  2.1752e-03  5e-09  2e-16  2e-18\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  2.7680e-03 -9.9821e-01  1e+00  1e-16  3e+00\n",
      " 1:  2.7671e-03 -8.2050e-03  1e-02  1e-16  3e-02\n",
      " 2:  2.7170e-03  1.9409e-03  8e-04  7e-17  2e-03\n",
      " 3:  2.6592e-03  2.6145e-03  4e-05  6e-17  3e-18\n",
      " 4:  2.6589e-03  2.6584e-03  5e-07  1e-16  3e-18\n",
      " 5:  2.6589e-03  2.6589e-03  5e-09  1e-16  2e-18\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  3.3272e-03 -9.9786e-01  1e+00  1e-16  3e+00\n",
      " 1:  3.3261e-03 -7.8597e-03  1e-02  7e-17  3e-02\n",
      " 2:  3.2631e-03  2.3873e-03  9e-04  4e-17  2e-03\n",
      " 3:  3.1995e-03  3.1511e-03  5e-05  7e-17  1e-18\n",
      " 4:  3.1992e-03  3.1986e-03  5e-07  6e-17  4e-18\n",
      " 5:  3.1992e-03  3.1992e-03  5e-09  9e-17  2e-18\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  3.9546e-03 -9.9748e-01  1e+00  2e-16  3e+00\n",
      " 1:  3.9531e-03 -7.4710e-03  1e-02  1e-16  3e-02\n",
      " 2:  3.8731e-03  2.8963e-03  1e-03  4e-17  2e-03\n",
      " 3:  3.8036e-03  3.7518e-03  5e-05  9e-17  4e-18\n",
      " 4:  3.8032e-03  3.8026e-03  6e-07  1e-16  2e-18\n",
      " 5:  3.8032e-03  3.8032e-03  6e-09  2e-16  1e-18\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  4.6582e-03 -9.9704e-01  1e+00  2e-16  3e+00\n",
      " 1:  4.6562e-03 -7.0336e-03  1e-02  1e-16  3e-02\n",
      " 2:  4.5547e-03  3.4759e-03  1e-03  8e-17  3e-03\n",
      " 3:  4.4794e-03  4.4249e-03  5e-05  1e-16  4e-18\n",
      " 4:  4.4790e-03  4.4785e-03  6e-07  2e-16  3e-18\n",
      " 5:  4.4790e-03  4.4790e-03  6e-09  1e-16  2e-18\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  5.4474e-03 -9.9656e-01  1e+00  1e-16  3e+00\n",
      " 1:  5.4446e-03 -6.5410e-03  1e-02  6e-17  3e-02\n",
      " 2:  5.3167e-03  4.1357e-03  1e-03  1e-16  3e-03\n",
      " 3:  5.2360e-03  5.1793e-03  6e-05  6e-17  3e-18\n",
      " 4:  5.2356e-03  5.2350e-03  6e-07  2e-16  3e-18\n",
      " 5:  5.2356e-03  5.2356e-03  6e-09  1e-16  3e-18\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  6.3325e-03 -9.9601e-01  1e+00  0e+00  3e+00\n",
      " 1:  6.3286e-03 -5.9861e-03  1e-02  8e-17  3e-02\n",
      " 2:  6.1689e-03  4.8862e-03  1e-03  2e-16  3e-03\n",
      " 3:  6.0833e-03  6.0253e-03  6e-05  1e-16  4e-18\n",
      " 4:  6.0830e-03  6.0824e-03  6e-07  1e-16  3e-18\n",
      " 5:  6.0830e-03  6.0830e-03  6e-09  3e-17  3e-18\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  7.3251e-03 -9.9539e-01  1e+00  2e-16  3e+00\n",
      " 1:  7.3198e-03 -5.3608e-03  1e-02  7e-17  3e-02\n",
      " 2:  7.1225e-03  5.7396e-03  1e-03  2e-16  3e-03\n",
      " 3:  7.0327e-03  6.9741e-03  6e-05  1e-16  4e-18\n",
      " 4:  7.0324e-03  7.0318e-03  6e-07  1e-16  2e-18\n",
      " 5:  7.0324e-03  7.0324e-03  6e-09  3e-17  4e-18\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  8.4382e-03 -9.9469e-01  1e+00  2e-16  3e+00\n",
      " 1:  8.4311e-03 -4.6558e-03  1e-02  1e-16  3e-02\n",
      " 2:  8.1898e-03  6.7093e-03  1e-03  6e-17  3e-03\n",
      " 3:  8.0967e-03  8.0379e-03  6e-05  2e-16  1e-06\n",
      " 4:  8.0964e-03  8.0958e-03  6e-07  2e-16  1e-08\n",
      " 5:  8.0964e-03  8.0964e-03  6e-09  2e-16  1e-10\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  9.6864e-03 -9.9391e-01  1e+00  1e-16  3e+00\n",
      " 1:  9.6769e-03 -3.8606e-03  1e-02  1e-16  3e-02\n",
      " 2:  9.3849e-03  7.8109e-03  2e-03  1e-16  3e-03\n",
      " 3:  9.2894e-03  9.2307e-03  6e-05  9e-17  4e-06\n",
      " 4:  9.2892e-03  9.2886e-03  6e-07  8e-17  4e-08\n",
      " 5:  9.2892e-03  9.2892e-03  6e-09  6e-17  4e-10\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  1.1086e-02 -9.9303e-01  1e+00  0e+00  3e+00\n",
      " 1:  1.1073e-02 -2.9631e-03  1e-02  6e-17  4e-02\n",
      " 2:  1.0723e-02  9.0616e-03  2e-03  0e+00  4e-03\n",
      " 3:  1.0627e-02  1.0569e-02  6e-05  1e-16  7e-06\n",
      " 4:  1.0627e-02  1.0626e-02  6e-07  2e-16  7e-08\n",
      " 5:  1.0627e-02  1.0627e-02  6e-09  1e-16  7e-10\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  1.2655e-02 -9.9203e-01  1e+00  0e+00  3e+00\n",
      " 1:  1.2639e-02 -1.9498e-03  1e-02  8e-17  4e-02\n",
      " 2:  1.2223e-02  1.0481e-02  2e-03  8e-17  4e-03\n",
      " 3:  1.2126e-02  1.2069e-02  6e-05  1e-16  1e-05\n",
      " 4:  1.2126e-02  1.2126e-02  6e-07  8e-17  1e-07\n",
      " 5:  1.2126e-02  1.2126e-02  6e-09  1e-16  1e-09\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  1.4415e-02 -9.9091e-01  1e+00  2e-16  3e+00\n",
      " 1:  1.4393e-02 -8.0487e-04  2e-02  1e-16  4e-02\n",
      " 2:  1.3903e-02  1.2091e-02  2e-03  1e-16  4e-03\n",
      " 3:  1.3808e-02  1.3753e-02  6e-05  8e-17  1e-05\n",
      " 4:  1.3808e-02  1.3808e-02  6e-07  2e-16  1e-07\n",
      " 5:  1.3808e-02  1.3808e-02  6e-09  1e-16  1e-09\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  1.6387e-02 -9.8964e-01  1e+00  0e+00  3e+00\n",
      " 1:  1.6359e-02  4.8946e-04  2e-02  1e-16  4e-02\n",
      " 2:  1.5787e-02  1.3917e-02  2e-03  1e-16  4e-03\n",
      " 3:  1.5695e-02  1.5642e-02  5e-05  1e-16  2e-05\n",
      " 4:  1.5695e-02  1.5694e-02  5e-07  2e-16  2e-07\n",
      " 5:  1.5695e-02  1.5695e-02  5e-09  1e-16  2e-09\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  1.8598e-02 -9.8821e-01  1e+00  0e+00  3e+00\n",
      " 1:  1.8562e-02  1.9536e-03  2e-02  2e-16  4e-02\n",
      " 2:  1.7899e-02  1.5987e-02  2e-03  7e-17  3e-03\n",
      " 3:  1.7811e-02  1.7760e-02  5e-05  2e-16  2e-05\n",
      " 4:  1.7811e-02  1.7810e-02  5e-07  2e-16  2e-07\n",
      " 5:  1.7811e-02  1.7811e-02  5e-09  5e-17  2e-09\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  2.1076e-02 -9.8660e-01  1e+00  0e+00  3e+00\n",
      " 1:  2.1030e-02  3.6111e-03  2e-02  2e-16  4e-02\n",
      " 2:  2.0267e-02  1.8331e-02  2e-03  2e-16  3e-03\n",
      " 3:  2.0184e-02  2.0137e-02  5e-05  8e-17  2e-05\n",
      " 4:  2.0184e-02  2.0184e-02  5e-07  3e-17  2e-07\n",
      " 5:  2.0184e-02  2.0184e-02  5e-09  9e-17  2e-09\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  2.3854e-02 -9.8478e-01  1e+00  2e-16  3e+00\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      " 1:  2.3796e-02  5.4885e-03  2e-02  1e-16  5e-02\n",
      " 2:  2.2923e-02  2.0985e-02  2e-03  7e-17  3e-03\n",
      " 3:  2.2847e-02  2.2803e-02  4e-05  2e-16  2e-05\n",
      " 4:  2.2847e-02  2.2847e-02  4e-07  1e-16  2e-07\n",
      " 5:  2.2847e-02  2.2847e-02  4e-09  1e-16  2e-09\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  2.6967e-02 -9.8272e-01  1e+00  4e-16  3e+00\n",
      " 1:  2.6893e-02  7.6166e-03  2e-02  2e-16  5e-02\n",
      " 2:  2.5902e-02  2.3987e-02  2e-03  1e-16  2e-03\n",
      " 3:  2.5834e-02  2.5794e-02  4e-05  8e-17  2e-05\n",
      " 4:  2.5834e-02  2.5834e-02  4e-07  6e-17  2e-07\n",
      " 5:  2.5834e-02  2.5834e-02  4e-09  6e-17  2e-09\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  3.0455e-02 -9.8039e-01  1e+00  2e-16  3e+00\n",
      " 1:  3.0363e-02  1.0031e-02  2e-02  2e-16  5e-02\n",
      " 2:  2.9245e-02  2.7380e-02  2e-03  4e-17  2e-03\n",
      " 3:  2.9186e-02  2.9150e-02  4e-05  4e-17  2e-05\n",
      " 4:  2.9186e-02  2.9185e-02  4e-07  1e-16  2e-07\n",
      " 5:  2.9186e-02  2.9186e-02  4e-09  1e-16  2e-09\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  3.4363e-02 -9.7775e-01  1e+00  0e+00  3e+00\n",
      " 1:  3.4248e-02  1.2771e-02  2e-02  2e-16  5e-02\n",
      " 2:  3.2996e-02  3.1212e-02  2e-03  8e-17  1e-03\n",
      " 3:  3.2946e-02  3.2914e-02  3e-05  6e-17  1e-05\n",
      " 4:  3.2946e-02  3.2945e-02  3e-07  9e-17  1e-07\n",
      " 5:  3.2946e-02  3.2946e-02  3e-09  1e-16  1e-09\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  3.8742e-02 -9.7477e-01  1e+00  2e-16  3e+00\n",
      " 1:  3.8599e-02  1.5883e-02  2e-02  1e-16  6e-02\n",
      " 2:  3.7205e-02  3.5534e-02  2e-03  7e-17  3e-04\n",
      " 3:  3.7164e-02  3.7137e-02  3e-05  1e-16  3e-06\n",
      " 4:  3.7164e-02  3.7164e-02  3e-07  2e-16  3e-08\n",
      " 5:  3.7164e-02  3.7164e-02  3e-09  1e-16  3e-10\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  4.3647e-02 -9.7139e-01  1e+00  2e-16  3e+00\n",
      " 1:  4.3472e-02  1.9421e-02  2e-02  9e-17  6e-02\n",
      " 2:  4.1933e-02  4.0203e-02  2e-03  6e-17  2e-17\n",
      " 3:  4.1897e-02  4.1870e-02  3e-05  1e-16  2e-17\n",
      " 4:  4.1897e-02  4.1897e-02  3e-07  6e-17  2e-17\n",
      " 5:  4.1897e-02  4.1897e-02  3e-09  1e-16  2e-17\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  4.9143e-02 -9.6755e-01  1e+00  0e+00  3e+00\n",
      " 1:  4.8927e-02  2.3445e-02  3e-02  9e-17  6e-02\n",
      " 2:  4.7241e-02  4.5349e-02  2e-03  6e-17  2e-17\n",
      " 3:  4.7207e-02  4.7179e-02  3e-05  8e-17  2e-17\n",
      " 4:  4.7207e-02  4.7207e-02  3e-07  2e-16  3e-17\n",
      " 5:  4.7207e-02  4.7207e-02  3e-09  1e-16  1e-17\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  5.5298e-02 -9.6321e-01  1e+00  0e+00  3e+00\n",
      " 1:  5.5035e-02  2.8025e-02  3e-02  2e-16  7e-02\n",
      " 2:  5.3196e-02  5.1149e-02  2e-03  9e-17  2e-17\n",
      " 3:  5.3165e-02  5.3136e-02  3e-05  3e-17  3e-17\n",
      " 4:  5.3165e-02  5.3165e-02  3e-07  5e-17  3e-17\n",
      " 5:  5.3165e-02  5.3165e-02  3e-09  6e-17  2e-17\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  6.2191e-02 -9.5827e-01  1e+00  0e+00  3e+00\n",
      " 1:  6.1872e-02  3.3239e-02  3e-02  6e-17  7e-02\n",
      " 2:  5.9879e-02  5.7684e-02  2e-03  1e-16  3e-17\n",
      " 3:  5.9850e-02  5.9820e-02  3e-05  3e-17  2e-17\n",
      " 4:  5.9850e-02  5.9849e-02  3e-07  3e-17  2e-17\n",
      " 5:  5.9850e-02  5.9850e-02  3e-09  1e-16  2e-17\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  6.9912e-02 -9.5267e-01  1e+00  2e-16  3e+00\n",
      " 1:  6.9526e-02  3.9178e-02  3e-02  8e-17  8e-02\n",
      " 2:  6.7378e-02  6.5047e-02  2e-03  8e-17  4e-17\n",
      " 3:  6.7350e-02  6.7319e-02  3e-05  1e-16  6e-17\n",
      " 4:  6.7350e-02  6.7350e-02  3e-07  4e-17  3e-17\n",
      " 5:  6.7350e-02  6.7350e-02  3e-09  2e-16  4e-17\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  7.8557e-02 -9.4630e-01  1e+00  0e+00  3e+00\n",
      " 1:  7.8095e-02  4.5946e-02  3e-02  1e-16  8e-02\n",
      " 2:  7.5791e-02  7.3340e-02  2e-03  1e-16  2e-17\n",
      " 3:  7.5765e-02  7.5734e-02  3e-05  4e-17  2e-17\n",
      " 4:  7.5765e-02  7.5765e-02  3e-07  2e-16  5e-17\n",
      " 5:  7.5765e-02  7.5765e-02  3e-09  6e-17  2e-17\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  8.8239e-02 -9.3907e-01  1e+00  2e-16  3e+00\n",
      " 1:  8.7687e-02  5.3661e-02  3e-02  1e-16  8e-02\n",
      " 2:  8.5232e-02  8.2679e-02  3e-03  1e-16  6e-17\n",
      " 3:  8.5207e-02  8.5175e-02  3e-05  1e-16  7e-17\n",
      " 4:  8.5207e-02  8.5207e-02  3e-07  6e-17  4e-17\n",
      " 5:  8.5207e-02  8.5207e-02  3e-09  1e-16  5e-17\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  9.9080e-02 -9.3084e-01  1e+00  0e+00  3e+00\n",
      " 1:  9.8425e-02  6.2456e-02  4e-02  1e-16  9e-02\n",
      " 2:  9.5825e-02  9.3191e-02  3e-03  8e-17  4e-17\n",
      " 3:  9.5801e-02  9.5769e-02  3e-05  2e-16  6e-17\n",
      " 4:  9.5801e-02  9.5800e-02  3e-07  1e-16  6e-17\n",
      " 5:  9.5801e-02  9.5801e-02  3e-09  6e-17  4e-17\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  1.1122e-01 -9.2149e-01  1e+00  4e-16  3e+00\n",
      " 1:  1.1045e-01  7.2484e-02  4e-02  2e-16  9e-02\n",
      " 2:  1.0771e-01  1.0502e-01  3e-03  1e-16  6e-17\n",
      " 3:  1.0769e-01  1.0765e-01  3e-05  8e-17  4e-17\n",
      " 4:  1.0769e-01  1.0769e-01  3e-07  5e-17  6e-17\n",
      " 5:  1.0769e-01  1.0769e-01  3e-09  6e-17  5e-17\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  1.2481e-01 -9.1086e-01  1e+00  0e+00  3e+00\n",
      " 1:  1.2391e-01  8.3917e-02  4e-02  6e-17  1e-01\n",
      " 2:  1.2105e-01  1.1832e-01  3e-03  1e-16  4e-17\n",
      " 3:  1.2102e-01  1.2099e-01  3e-05  1e-16  5e-17\n",
      " 4:  1.2102e-01  1.2102e-01  3e-07  1e-16  5e-17\n",
      " 5:  1.2102e-01  1.2102e-01  3e-09  7e-17  2e-17\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  1.4004e-01 -8.9876e-01  1e+00  2e-16  3e+00\n",
      " 1:  1.3898e-01  9.6948e-02  4e-02  8e-17  1e-01\n",
      " 2:  1.3601e-01  1.3328e-01  3e-03  1e-16  5e-17\n",
      " 3:  1.3599e-01  1.3596e-01  3e-05  8e-17  6e-17\n",
      " 4:  1.3599e-01  1.3599e-01  3e-07  1e-16  7e-17\n",
      " 5:  1.3599e-01  1.3599e-01  3e-09  6e-17  3e-17\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  1.5708e-01 -8.8499e-01  1e+00  0e+00  3e+00\n",
      " 1:  1.5586e-01  1.1180e-01  4e-02  6e-17  1e-01\n",
      " 2:  1.5280e-01  1.5009e-01  3e-03  1e-16  1e-16\n",
      " 3:  1.5278e-01  1.5275e-01  3e-05  1e-16  6e-17\n",
      " 4:  1.5278e-01  1.5278e-01  3e-07  6e-17  7e-17\n",
      " 5:  1.5278e-01  1.5278e-01  3e-09  1e-16  5e-17\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  1.7617e-01 -8.6934e-01  1e+00  1e-16  3e+00\n",
      " 1:  1.7476e-01  1.2871e-01  5e-02  1e-16  1e-01\n",
      " 2:  1.7163e-01  1.6898e-01  3e-03  2e-16  6e-17\n",
      " 3:  1.7162e-01  1.7159e-01  3e-05  2e-16  5e-17\n",
      " 4:  1.7162e-01  1.7161e-01  3e-07  3e-16  1e-16\n",
      " 5:  1.7162e-01  1.7162e-01  3e-09  7e-17  1e-16\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  1.9755e-01 -8.5154e-01  1e+00  0e+00  3e+00\n",
      " 1:  1.9594e-01  1.4797e-01  5e-02  1e-16  1e-01\n",
      " 2:  1.9277e-01  1.9019e-01  3e-03  1e-16  6e-17\n",
      " 3:  1.9275e-01  1.9272e-01  3e-05  7e-17  9e-17\n",
      " 4:  1.9275e-01  1.9275e-01  3e-07  1e-16  3e-17\n",
      " 5:  1.9275e-01  1.9275e-01  3e-09  1e-16  7e-17\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  2.2150e-01 -8.3129e-01  1e+00  0e+00  3e+00\n",
      " 1:  2.1967e-01  1.6988e-01  5e-02  5e-17  1e-01\n",
      " 2:  2.1648e-01  2.1401e-01  2e-03  8e-17  1e-16\n",
      " 3:  2.1647e-01  2.1644e-01  3e-05  1e-16  5e-17\n",
      " 4:  2.1647e-01  2.1647e-01  3e-07  1e-16  9e-17\n",
      " 5:  2.1647e-01  2.1647e-01  3e-09  0e+00  7e-17\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  2.4832e-01 -8.0829e-01  1e+00  4e-16  3e+00\n",
      " 1:  2.4626e-01  1.9479e-01  5e-02  1e-16  1e-01\n",
      " 2:  2.4309e-01  2.4075e-01  2e-03  9e-17  1e-16\n",
      " 3:  2.4308e-01  2.4305e-01  2e-05  4e-17  9e-17\n",
      " 4:  2.4308e-01  2.4308e-01  2e-07  1e-16  2e-16\n",
      " 5:  2.4308e-01  2.4308e-01  2e-09  1e-16  9e-17\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  2.7837e-01 -7.8214e-01  1e+00  0e+00  3e+00\n",
      " 1:  2.7607e-01  2.2308e-01  5e-02  1e-16  1e-01\n",
      " 2:  2.7294e-01  2.7075e-01  2e-03  4e-17  1e-16\n",
      " 3:  2.7293e-01  2.7291e-01  2e-05  9e-17  1e-16\n",
      " 4:  2.7293e-01  2.7293e-01  2e-07  6e-17  1e-16\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  3.1204e-01 -7.5245e-01  1e+00  0e+00  3e+00\n",
      " 1:  3.0949e-01  2.5518e-01  5e-02  2e-16  1e-01\n",
      " 2:  3.0644e-01  3.0442e-01  2e-03  5e-17  2e-16\n",
      " 3:  3.0643e-01  3.0641e-01  2e-05  6e-17  1e-16\n",
      " 4:  3.0643e-01  3.0643e-01  2e-07  7e-17  1e-16\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  3.4977e-01 -7.1875e-01  1e+00  2e-16  3e+00\n",
      " 1:  3.4697e-01  2.9158e-01  6e-02  6e-17  1e-01\n",
      " 2:  3.4403e-01  3.4218e-01  2e-03  2e-16  1e-16\n",
      " 3:  3.4402e-01  3.4400e-01  2e-05  1e-16  2e-16\n",
      " 4:  3.4402e-01  3.4402e-01  2e-07  1e-16  2e-16\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  3.9206e-01 -6.8052e-01  1e+00  0e+00  3e+00\n",
      " 1:  3.8901e-01  3.3280e-01  6e-02  8e-17  1e-01\n",
      " 2:  3.8620e-01  3.8446e-01  2e-03  1e-16  2e-04\n",
      " 3:  3.8619e-01  3.8617e-01  2e-05  7e-17  2e-06\n",
      " 4:  3.8619e-01  3.8619e-01  2e-07  1e-16  2e-08\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  4.3945e-01 -6.3717e-01  1e+00  2e-16  3e+00\n",
      " 1:  4.3616e-01  3.7942e-01  6e-02  2e-16  1e-01\n",
      " 2:  4.3352e-01  4.3184e-01  2e-03  3e-17  6e-04\n",
      " 3:  4.3351e-01  4.3349e-01  2e-05  1e-16  6e-06\n",
      " 4:  4.3351e-01  4.3351e-01  2e-07  1e-16  6e-08\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  4.9259e-01 -5.8806e-01  1e+00  0e+00  3e+00\n",
      " 1:  4.8907e-01  4.3210e-01  6e-02  1e-16  1e-01\n",
      " 2:  4.8661e-01  4.8502e-01  2e-03  1e-16  8e-04\n",
      " 3:  4.8660e-01  4.8659e-01  2e-05  1e-16  8e-06\n",
      " 4:  4.8660e-01  4.8660e-01  2e-07  1e-16  8e-08\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  5.5217e-01 -5.3245e-01  1e+00  0e+00  3e+00\n",
      " 1:  5.4844e-01  4.9156e-01  6e-02  2e-16  1e-01\n",
      " 2:  5.4618e-01  5.4469e-01  1e-03  6e-17  1e-03\n",
      " 3:  5.4617e-01  5.4616e-01  1e-05  1e-16  1e-05\n",
      " 4:  5.4617e-01  5.4617e-01  1e-07  1e-16  1e-07\n",
      " 5:  5.4617e-01  5.4617e-01  1e-09  7e-17  1e-09\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  6.1899e-01 -4.6954e-01  1e+00  2e-16  3e+00\n",
      " 1:  6.1507e-01  5.5860e-01  6e-02  1e-16  1e-01\n",
      " 2:  6.1302e-01  6.1164e-01  1e-03  8e-17  1e-03\n",
      " 3:  6.1301e-01  6.1300e-01  1e-05  1e-16  1e-05\n",
      " 4:  6.1301e-01  6.1301e-01  1e-07  2e-16  1e-07\n",
      " 5:  6.1301e-01  6.1301e-01  1e-09  1e-16  1e-09\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  6.9392e-01 -3.9841e-01  1e+00  0e+00  3e+00\n",
      " 1:  6.8985e-01  6.3410e-01  6e-02  2e-16  1e-01\n",
      " 2:  6.8801e-01  6.8675e-01  1e-03  1e-16  1e-03\n",
      " 3:  6.8801e-01  6.8800e-01  1e-05  2e-16  1e-05\n",
      " 4:  6.8801e-01  6.8801e-01  1e-07  2e-16  1e-07\n",
      " 5:  6.8801e-01  6.8801e-01  1e-09  2e-16  1e-09\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  7.7797e-01 -3.1805e-01  1e+00  1e-16  3e+00\n",
      " 1:  7.7378e-01  7.1907e-01  5e-02  2e-16  1e-01\n",
      " 2:  7.7216e-01  7.7101e-01  1e-03  2e-16  1e-03\n",
      " 3:  7.7215e-01  7.7214e-01  1e-05  1e-16  1e-05\n",
      " 4:  7.7215e-01  7.7215e-01  1e-07  7e-17  1e-07\n",
      " 5:  7.7215e-01  7.7215e-01  1e-09  3e-17  1e-09\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  8.7226e-01 -2.2732e-01  1e+00  0e+00  3e+00\n",
      " 1:  8.6798e-01  8.1460e-01  5e-02  2e-16  1e-01\n",
      " 2:  8.6657e-01  8.6554e-01  1e-03  1e-16  1e-03\n",
      " 3:  8.6657e-01  8.6656e-01  1e-05  2e-16  1e-05\n",
      " 4:  8.6657e-01  8.6657e-01  1e-07  6e-17  1e-07\n",
      " 5:  8.6657e-01  8.6657e-01  1e-09  1e-16  1e-09\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  9.7803e-01 -1.2494e-01  1e+00  2e-16  3e+00\n",
      " 1:  9.7371e-01  9.2192e-01  5e-02  7e-17  1e-01\n",
      " 2:  9.7250e-01  9.7159e-01  9e-04  1e-16  1e-03\n",
      " 3:  9.7250e-01  9.7249e-01  9e-06  4e-17  1e-05\n",
      " 4:  9.7250e-01  9.7250e-01  9e-08  7e-17  1e-07\n",
      " 5:  9.7250e-01  9.7250e-01  9e-10  1e-16  1e-09\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  1.0967e+00 -9.5076e-03  1e+00  0e+00  3e+00\n",
      " 1:  1.0924e+00  1.0424e+00  5e-02  1e-16  1e-01\n",
      " 2:  1.0914e+00  1.0905e+00  8e-04  9e-17  1e-03\n",
      " 3:  1.0914e+00  1.0914e+00  8e-06  8e-17  1e-05\n",
      " 4:  1.0914e+00  1.0914e+00  8e-08  2e-16  1e-07\n",
      " 5:  1.0914e+00  1.0914e+00  8e-10  7e-17  1e-09\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  1.2299e+00  1.2058e-01  1e+00  1e-16  3e+00\n",
      " 1:  1.2256e+00  1.1776e+00  5e-02  8e-17  1e-01\n",
      " 2:  1.2247e+00  1.2240e+00  7e-04  6e-17  1e-03\n",
      " 3:  1.2247e+00  1.2247e+00  7e-06  2e-16  1e-05\n",
      " 4:  1.2247e+00  1.2247e+00  7e-08  1e-16  1e-07\n",
      " 5:  1.2247e+00  1.2247e+00  7e-10  8e-17  1e-09\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0:  1.3793e+00  2.6710e-01  1e+00  2e-16  3e+00\n",
      " 1:  1.3750e+00  1.3293e+00  5e-02  1e-16  1e-01\n",
      " 2:  1.3744e+00  1.3737e+00  6e-04  8e-17  1e-03\n",
      " 3:  1.3744e+00  1.3744e+00  6e-06  1e-16  1e-05\n",
      " 4:  1.3744e+00  1.3744e+00  6e-08  3e-17  1e-07\n",
      " 5:  1.3744e+00  1.3744e+00  6e-10  2e-16  1e-09\n",
      "Optimal solution found.\n",
      "     pcost       dcost       gap    pres   dres\n",
      " 0: -1.8218e-03 -1.0035e+00  1e+00  2e-16  3e+00\n",
      " 1: -1.8237e-03 -1.3489e-02  1e-02  6e-17  3e-02\n",
      " 2: -1.9890e-03 -3.5891e-03  2e-03  1e-16  4e-03\n",
      " 3: -3.4416e-03 -4.0323e-03  6e-04  2e-15  5e-04\n",
      " 4: -3.4862e-03 -3.4938e-03  8e-06  2e-16  7e-06\n",
      " 5: -3.4884e-03 -3.4884e-03  8e-08  1e-16  7e-08\n",
      "Optimal solution found.\n"
     ]
    }
   ],
   "source": [
    "def optimal_portfolio(returns):\n",
    "    n = len(returns)\n",
    "    returns = np.asmatrix(returns)\n",
    "    \n",
    "    N = 100\n",
    "    mus = [10**(5.0 * t/N - 1.0) for t in range(N)]\n",
    "    \n",
    "    # Convert to cvxopt matrices\n",
    "    S = opt.matrix(np.cov(returns))\n",
    "    pbar = opt.matrix(np.mean(returns, axis=1))\n",
    "    \n",
    "    # Create constraint matrices\n",
    "    G = -opt.matrix(np.eye(n))   # negative n x n identity matrix\n",
    "    h = opt.matrix(0.0, (n ,1))\n",
    "    A = opt.matrix(1.0, (1, n))\n",
    "    b = opt.matrix(1.0)\n",
    "    \n",
    "    # Calculate efficient frontier weights using quadratic programming\n",
    "    portfolios = [solvers.qp(mu*S, -pbar, G, h, A, b)['x'] \n",
    "                  for mu in mus]\n",
    "    ## CALCULATE RISKS AND RETURNS FOR FRONTIER\n",
    "    returns = [blas.dot(pbar, x) for x in portfolios]\n",
    "    risks = [np.sqrt(blas.dot(x, S*x)) for x in portfolios]\n",
    "    ## CALCULATE THE 2ND DEGREE POLYNOMIAL OF THE FRONTIER CURVE\n",
    "    m1 = np.polyfit(returns, risks, 2)\n",
    "    x1 = np.sqrt(m1[2] / m1[0])\n",
    "    # CALCULATE THE OPTIMAL PORTFOLIO\n",
    "    wt = solvers.qp(opt.matrix(x1 * S), -pbar, G, h, A, b)['x']\n",
    "    return np.asarray(wt), returns, risks\n",
    "\n",
    "weights1, returns1, risks1 = optimal_portfolio(return_vec)\n",
    "weights2, returns2, risks2 = optimal_portfolio(return_vec_shift)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 对比以下两图可以发现资产组合的有效前沿差别较大"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5,1,u'Efficient Frontier of portfolio1')"
      ]
     },
     "execution_count": 53,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA8EAAAJcCAYAAADZx6YpAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzs3Xmc3XV97/HXJysTtmEJS4YkEIEESICQQRQXGkRTt5IGLdYUtVBSevUKFWNB6tXemoIFr20v7eNeXG7rvWmLVQwoKlZBQTZJCCQhkAQSAkxYAiQhy5D1e//4nZMzc+bMzJnlzPZ7PR+Pecyc33a+Z/JQHu/5fL+fb6SUkCRJkiQpD4b19wAkSZIkSeorhmBJkiRJUm4YgiVJkiRJuWEIliRJkiTlhiFYkiRJkpQbhmBJkiRJUm4YgiVJ/SYiPhkRL0VEiogjI2JGRDwZEXsj4iMR8auI+EgVz6nqusEuIn4nIlb04ft9MSJej4htffWeZe8/IiJ+EBE7IuLHVVyfIuLIws//HBGfr/0oJUmDTbhPsCSpVgqB7bSyw3emlD5UOP8a8IGU0sOF17cBDwE3pn74D1RE/Akwuzi+dq75MfDBssMfTSl9v5fHMgLYDYxNKb3am8+u8v0PA14ATkkpPdcH79fmdx8Rvwd8GXhXSmlHFc9IdOP3FRFXAp8CpgLfTild0ZX7JUmDi5VgSVKtXZJSihZfxQB8EHA4sKTFtROAR/sjAHfRl8o+U5sAXAixA0Y3xtMAbOqjANze2CYAT1YTgHvoBeC/AbfW+H0kSQOAIViS1Oci4hhga+Hl7ohYHBFPATOA/yxMaz2ofJpzYfr0E4Xpscsj4m2F4+XXXRIRKyPijYj4WUSMLxw/oPDsj0fEs4Wpvl8rnJsKfBP4YOGaLldfC1O7/0tEPAm8WDh2dkQ8GBFbI2JpRMxscf2/R8RfR8QvCp/p3ohoKJx+qPB9Y2E8HyqfDh0RR0fE9yLitcLn+UyLczdExC0R8f2IaAbeX2G8RxemG2+KiLUR8dnC8bcBy4GGwntXCvm/W/h3+5uI2BIRT0fERS3OHxwR346IjRHxQkR8NSKGl9371Yh4nSx8tvrdR8Q1wP8E5haOfSYy8yNiXeHf7t8j4oh2/i1aTYeOiE9ExKrCWH8aEROL51JKP0gp/QjYXPlfVpI0lBiCJUl9LqX0EnBY4eXIlFJjSmkK8Djw3kJ1tdU61Ij4MPB14CrgSODjwKbyZ0fELOAG4FJgHPBr4N/KLvt94BzgncDlEXFuSmkFcDnZdO1IKR3ZzY/3R8AHgMkRcQjwk8L7NxTGf0dEjGtx/aVkU36PATYWfgZ4W+H72MJ4Wq2JjYgAfghsAE4Efhf4bES8t8Vlc4F/Bo4A7qkw1v8LvAm8BfgYcF1EXJhSegiYDjQV3ru99danF75PAK4G/m9EnFA49nXg+MI1FwAfBT7T4t4zyKZ7TwQuo+x3n1K6AfhzYGHh2M3AHwKfBS4CTgZGAd9qZ2z7RcS5ZIH6zwrv9zRwW+F3KEnKGUOwJKnW/m+hklf8uqGbz/kT4H+klP4zpbQjpbQ8pbSqwnVXAF9PKT2UUtqWUroeOCkiJrS45i9TSi+nlFYCPwfO6uJY/rrF5ylvGnV9SmldSul1YBbwUkrpH1JKb6SU/h/wCDCnxfXfTSndn1J6g6waWu1YTgdOAa5OKW1KKT0F/B1ZUCz6WUrpx4XfV/kfFcYC7wWuTCm9nlL6LfCPwCVVvj/ANuC/pZS2pJRuJ/tdFgPzx4EvpJReLIxtQdmzNwF/nVLamlKqtgI7F/i7lNKjhXW/VwGzC1PrO7vvuymluwvv9QVgCm3Xq0uScsAQLEmqtfI1wdd08znjgdVVXDcR+HrL4A0cRVatLGpq8fM2oLMQVa7lmuDye9e3+Hkc8GzZ+bVkVeGejmUiUA/safE5/5HWn3N9xTtLY9tW1kSqfGydaUop7Wnx+llgXEQcChxI689e/uwXUkr7uvBeUPb7LKxX3kPnYy6/r5lsunpXPqskaYgwBEuSBovngZOqvO6KsuAdKaXfVHFvbzTkahnsNpBNCW7pBFoH3+6O5XmyIDes7HNe0M5Yym0ADipbU1vt2IrGReumVscDG1JKW4DttP7s5c8uH1s1v/tWv8/CWu8RdD7m8vsOIJt+3pXPKkkaIgzBkqTB4lvA5yLiPRFRFxFTI2Jyhev+F/DFiHhnoRHW0RExt8r3eAWYVMX02mr9HDg2Ij5daBT1cbK1yLd1dmNKaS/wOqV1t+UeJ6v0fj0ijoqIMRFxVqGpVadSShuBXwLfiIjDI+Js4NPA/6vm/oKDgS9HxCGRbWf0PuAHhXP/DlwfEcdExMnAFzt5djW/+38DroyIMwrh/X8At5dP9W7nvksi4rxClfprZLMKnujsA0qShh5DsCSp1srXBD/WnYcUuvf+BXAzWTj8Htl04PLrflq47p8K1y0ma8xUjf8kq7C+Et3oDl1hLFvI9hT+BFnV9gvAhSmlDVU+4q+AW4vdocuevQ+YTTbVeznwMtlnPrgLQ7ykcP1ast/n11JKi7pw/zKy5lQvAN8APplSWls49zmySusKsqZcPyT7t2tPNb/7hWSf8Q6y5laJrKFWhwqzAP6cbM3182TrgS8qbsVV6FKdyP4I8Kc9XLsuSRrgYuBvxShJkgaaiPhd4Ksppcb+HoskSV1hJViSJEmSlBs1DcERMbOwof3WiFhQ4fz3y6bI7YiIYYVzH4uIFyPi9Yj4dC3HKUmSJEnKh5pNhy5sQL+WbA+/xWTNNy5NKT3QzvUfJ1sndXFEHAw8A1xIto/gPcBbU0rP12SwkiRJkqRcqGUl+ExgS0rp9pRSE1kzijkdXD+XrOEFZA1MHkgpPZhSegr4PlkgliRJkiSp20Z0fkm3NZBt3VC0DqjYPCMixgIzgJ92cG+bDe0jYh4wD+DAAw+cMWXKlJ6PWpIkSZI04CxZsuTVlNLYnj6nliG4Ky4m2+dvd1duSindAtwC0NjYmBYvXlyLsUmSJEmS+llErO/8qs7Vcjp0EzCxxesTCscq+SNKU6G7eq8kSZIkSVWpZQh+HKiPiAsjooFsM/tF5RdFxFuAY4H7Whz+BfCOiHh7REwBPgLcUcOxSpIkSZJyoGbToVNK+yLiMuDbwJHAzSml30TETcCrKaUbCpfOBf49tWhTnVLaGhFXAj8ERgNfTik9V6uxSpIkSZLyoWZbJPU11wRLkiRJ0tAVEUtSShWbLXdFLadDS5IkSZI0oBiCJUmSJEm5YQiWJEmSJOWGIViSJEmSlBuGYEmSJElSbhiCJUmSJEm5YQiWJEmSJOWGIViSJEmSlBuGYEmSJElSbhiCJUmSJEm5YQiWJEmSJOWGIViSJEmSlBuGYEmSJElSbhiCJUmSJEm5YQiWJEmSJOWGIViSJEmSlBuGYEmSJElSbhiCJUmSJEm5YQiWJEmSJOWGIViSJEmSlBuGYEmSJElSbhiCJUmSJEm5YQiWJEmSJOWGIViSJEmSlBuGYEmSJElSbhiCJUmSJEm5YQiWJEmSJOWGIViSJEmSlBuGYEmSJElSbhiCJUmSJEm5YQiWJEmSJOWGIViSJEmSlBuGYEmSJElSbhiCJUmSJEm5YQiWJEmSJOWGIViSJEmSlBuGYEmSJElSbhiCJUmSJEm5YQiWJEmSJOWGIViSJEmSlBuGYEmSJElSbhiCJUmSJEm5YQiWJEmSJOWGIViSJEmSlBuGYEmSJElSbhiCJUmSJEm5YQiWJEmSJOWGIViSJEmSlBuGYEmSJElSbhiCJUmSJEm5YQiWJEmSJOWGIViSJEmSlBs1DcERMTMi1kXE1ohY0M41n4yI5yJie0T8U+HYQRGRWnytqOU4JUmSJEn5ULMQHBEBfAe4CpgCXBQR55ZdcwZwA3AxcDTwrRann0kpReFraq3GKUmSJEnKj1pWgs8EtqSUbk8pNQHfBOaUXfOnwN+llB5MKW1LKT1aw/FIkiRJknKuliG4AVjf4vW6wrGWTgYmRcSrEbE+Ij7W4tyEwhTptRHxiUpvEBHzImJxRCzeuHFj745ekiRJkjTk9HdjrBHAROAk4A+AmyOiHmgmqyQfDlwC3BQRJ5bfnFK6JaXUmFJqHDt2bB8OW5IkSZI0GNUyBDeRBdyiEwrHWnoBuC2ltCml9DCwFjghpbQ3pbQypbQzpXQ/cB/gumBJkiRJUo/UMgQ/DtRHxIUR0QBcDiwqu2YRWcOswyLiHLKgvDYiJkXE5IgYXWim9S7giRqOVZIkSZKUAyNq9eCU0r6IuAz4NnAkcHNK6TcRcRPwakrpBuA24D1kFeFXgD9NKW0pdI3+NjAeeB64OqW0plZjlSRJkiTlQ6SU+nsMvaKxsTEtXry4v4chSZIkSaqBiFiSUmrs6XP6uzGWJEmSJEl9xhAsSZIkScoNQ7AkSZIkKTcMwZIkSZKk3DAES5IkSZJywxAsSZIkScoNQ7AkSZIkKTcMwZIkSZKk3DAES5IkSZJywxAsSZIkScoNQ7AkSZIkKTcMwZIkSZKk3DAES5IkSZJywxAsSZIkScoNQ7AkSZIkKTcMwZIkSZKk3DAES5IkSZJywxAsSZIkScoNQ7AkSZIkKTcMwZIkSZKk3DAES5IkSZJywxAsSZIkScoNQ7AkSZIkKTcMwZIkSZKk3DAES5IkSZJywxAsSZIkScoNQ7AkSZIkKTcMwZIkSZKk3DAES5IkSZJywxAsSZIkScoNQ7AkSZIkKTcMwZIkSZKk3DAES5IkSZJywxAsSZIkScoNQ7AkSZIkKTcMwZIkSZKk3DAES5IkSZJywxAsSZIkScoNQ7AkSZIkKTcMwZIkSZKk3DAES5IkSZJywxAsSZIkScoNQ7AkSZIkKTcMwZIkSZKk3DAES5IkSZJywxAsSZIkScoNQ7AkSZIkKTcMwZIkSZKk3DAES5IkSZJywxAsSZIkScoNQ7AkSZIkKTdqGoIjYmZErIuIrRGxoJ1rPhkRz0XE9oj4pxbHPxYRL0bE6xHx6VqOU5IkSZKUDzULwRERwHeAq4ApwEURcW7ZNWcANwAXA0cD3yocPxj4B2AOcC7wlxExvlZjlSRJkiTlQy0rwWcCW1JKt6eUmoBvkoXalv4U+LuU0oMppW0ppUcLxy8AHigcfwr4PnBhDccqSZIkScqBWobgBmB9i9frCsdaOhmYFBGvRsT6iPhYF+4lIuZFxOKIWLxx48ZeHLokSZIkaSjq78ZYI4CJwEnAHwA3R0R9tTenlG5JKTWmlBrHjh1bqzFKkiRJkoaIWobgJrKAW3RC4VhLLwC3pZQ2pZQeBta2uK6zeyVJkiRJ6pJahuDHgfqIuDAiGoDLgUVl1ywia5h1WEScQxZ21wK/AN4REW+PiCnAR4A7ajhWSZIkSVIOjKjVg1NK+yLiMuDbwJHAzSml30TETcCrKaUbgNuA95BVhF8B/jSltAUgIq4EfgiMBr6cUnquVmOVJEmSJOVDpJT6ewy9orGxMS1evLi/hyFJkiRJqoGIWJJSauzpc/q7MZYkSZIkSX3GECxJkiRJyg1DsCRJkiQpNwzBkiRJkqTcMARLkiRJknLDECxJkiRJyg1DsCRJkiQpNwzBkiRJkqTcMARLkiRJknLDECxJkiRJyg1DsCRJkiQpNwzBkiRJkqTcMARLkiRJknLDECxJkiRJyg1DsCRJkiQpNwzBkiRJkqTcMARLkiRJknLDECxJkiRJyg1DsCRJkiQpNwzBkiRJkqTcMARLkiRJknLDECxJkiRJyg1DsCRJkiQpNwzBkiRJkqTcMARLkiRJknLDECxJkiRJyg1DsCRJkiQpNwzBkiRJkqTcMARLkiRJknLDECxJkiRJyg1DsCRJkiQpNwzBkiRJkqTcMARLkiRJknLDECxJkiRJyg1DsCRJkiQpNwzBkiRJkqTcMARLkiRJknLDECxJkiRJyg1DsCRJkiQpNwzBkiRJkqTcMARLkiRJknLDECxJkiRJyg1DsCRJkiQpNwzBkiRJkqTcMARLkiRJknLDECxJkiRJyg1DsCRJkiQpNwzBkiRJkqTcMARLkiRJknLDECxJkiRJyg1DsCRJkiQpN2oagiNiZkSsi4itEbGgwvnPRERq8fX5wvGDyo6vqOU4JUmSJEn5ULMQHBEBfAe4CpgCXBQR51a49EsppSh83dTi+DMtjk+t1TglSZIkSflRy0rwmcCWlNLtKaUm4JvAnBq+nyRJkiRJHaplCG4A1rd4va5wrNxfRMT2iLgnIk5qcXxC4fjaiPhEpTeIiHkRsTgiFm/cuLEXhy5JkiRJGor6uzHWImAScDTwa+BbhePNZJXkw4FLgJsi4sTym1NKt6SUGlNKjWPHju2jIUuSJEmSBqtahuAmYGKL1ycUju2XUnohpbQxpbQN+DpwRuH43pTSypTSzpTS/cB9gOuCJUmSJEk9UssQ/DhQHxEXRkQDcDlZ5Xe/iHh7RBwREQcBVxfuISImRcTkiBhdaKb1LuCJGo5VkiRJkpQDNQvBKaV9wGXA3wOrgEUppd9ExE0RcU3hstnAauAl4J2F6wGOA34MbAH+Bbg6pbSmVmOVJEmSJOVDpJT6ewy9orGxMS1evLi/hyFJkiRJqoGIWJJSauzpc/q7MZYkSZIkSX3GECxJkiRJyg1DsCRJkiQpNwzBkiRJkqTcMARLkiRJknLDECxJkiRJyg1DsCRJkiQpNwzBkiRJkqTcMARLkiRJknLDECxJkiRJyg1DsCRJkiQpNwzBkiRJkqSBYeFCOP54GDYs+75wYa+/xYhef6IkSZIkSV21cCHMmwc7dmSv16+Hyy+HJ57IAnEvMQRLkiRJkvpHSvDyy7BqFXz2s6UAXNTcDNdf36tvaQiWJEmSJNVWczOsWZOF3fKvN97o+N4IePZZmDixV4ZiCJYkSZIk9VxK0NRUCrdPPVX6+bnnsvNFxx0HU6bAJZfA5MnZ16WXZveXmzAh++olhmBJkiRJUvW2bYPVq9tWdFevhu3bS9cdeGAWbs89F/74j0th9+STs3Plvva11muCAcaMgQULenX4hmBJkiRJUmt792bV20rTl1tWayOyplWTJ8O7310KupMnw7hx2flqzZ2bfb/uuuy9J0zIAnDxeC8xBEuSJElSXm3ZUjnorlkDb75Zuu7QQ7Nge/752TTmYtA98UQ44IDeG8/cub0eessZgiVJkiRpKNuzB9atqxx2X365dN3w4TBpUhZu3/e+1lXdo47qWlV3ADMES5IkSdJQ8NprrQNusTHVM8/A7t2l6448Mgu2H/xg66A7aRKMGtV/4+8jhmBJkiRJGix27cpCbaWq7muvla4bOTKbqjxlClx4YRZyi9OYDz+8/8Y/ABiCJUmSJKkvLVzYcfOnlOCVV9puM7RqVTatee/e0rXHHJMF24sual3VPf54GGHcq8TfiiRJkiT1lYULW28DtH59tj/uokVQV1cKu1u2lO454AA46SSYPh0+9rHWWw0demj/fI5BzBAsSZIkSbW0Ywc8+SSsXAmf+UzrfXAhm+L8/e/Dccdl4Xbu3NZV3QkTYNiw/hn7EGQIliRJkqTesG1bKew+8UT2feVKePbZbIpzRyLg+ef7ZJh5ZwiWJEmSpK54441SwC1+PfFEtsa3aNSorBHVOefAH/8xnHYanHoqzJrV+rqiCRP6bvw5ZwiWJEmSpEo2b24dcos/v/BC6ZoDDsjC7jvfWQq6p56abTdUqTHV3/xN6zXBAGPGZM2x1CcMwZIkSZLy7fXXW4fcYuh98cXSNWPGwCmnwMyZpaB72mlZF+bhw6t/r2IX6I66Q6umDMGSJEmS8mHjxsqV3ZdfLl1z4IFZwH3f+1pXdidO7L3mVHPnGnr7kSFYkiRJ0tBR3GO3POg+8QS8+mrpuoMPzkLuBz/YurJ73HF2Yh7iDMGSJEmSBp+UsunK5VOYV67MpjcXHXpoFm5nz25d2W1oyDoyK3cMwZIkSZIGrpSgqaltZXflyqxxVdHhh2ch96MfbVXZXfTiXm78+Wo2bG5m3Jt1zB87mdnHNfTf51G/MwRLkiRJ6n8pZY2iKlV2t24tXTd2bBZw//APW1d2jzqqTWV30dImrv3hCpp37wWgaXMz1962HIDZ0w3CeWUIliRJktR39u2D9evbVnaffBK2bStdd/TRWcj95CdLQffUU7MQXKUb71q1PwAXNe/ey413rTIE55ghWJIkSVLv27sX1q1rW9l98klobi5dN25cFm4vvbRU2T3lFDjiiB4PYcPm5i4dV3UWLW3ixrtWZVPM6+uYP2vyoPqjgiFYkiRJUvft2QNr17at7D71FLz5Zum6447LQu5557Wu7NbX12xo4+rraKoQeMfV19XsPYe6RUubuPa25YN6irkhWJIkSVKnbv/ts9z67/dw6Lo1nLXtRd4/fBPHbVgLq1bBrl2lCydOzMLte97TurJ7yCF9Pub5sya3CmwAdSOHM3/W5D4fy1AxFKaYG4IlSZIklezaBWvWtKrsvvHoMt6/7hku3Ldn/2XP1x/DS9OmcsxV7y9VdU85BQ46qB8H31oxlA3mqbsDzVCYYm4IliRJkoaqhQvhuuuyrssTJsCCBTB3bnZu586silu+ZnfNmmw9L2Tdlt/yFh4fdRTL3zqN1UdOZM0R41l7+HE0jzqAhvo67r/m/P77fFWYPb3B0NuLhsIUc0OwJEmSNBQtXAjz5sGOHdnr9evhU5+Cb3wj23Lo6aezTs0Aw4bBiSdm05cvuqhU2Z08Gerq+MQ1d5IqvEV/VP8Ge1OmwW4oTDE3BEuSJElDQXGf3WXLYPnyrOpbDMBFe/bA44/DhRfCxReX1uyefDKMHt3uowdK9W8oNGUa7IbCFHNDsCRJkjTYbNkCK1ZkgbcYepcvhzfe2H9JAqLSvXv3wve/36W3GyjVv6HQlGkoGOxTzA3BkiRJUj/qcHrvnj2wenUp6Ba/r19fekB9PUybBpdcAtOm8evRx/K5lXu4/X9fwXFvbGz7hhMmdHmMA6X6NxSaMqn/GYIlSZKkfrJ/eu+uPYzdvolJ655l9S/+lefqtjDhhafhySezBlYAI0bAlClw7rlwxRVZ8D399Gz/3SjVfL94w928NqyZv333J7jhZzczZs/O0huOGZNNk+6GgVD9GyjTsjW4GYIlSZKkvrRjR9aFeflydn37Tr7V9DRTXnmWI5pLU5k3HnIEnHs2vPe9WdCdNi0LwB2s2y0qVkXvOG0mAF+497uMe+NVNhxyJMf90zdK3aEHoYEyLVuDmyFYkiRJqoV9+2Ddutbrdpcty7oyp6zX8odGjmb1kRP5+UlvY9XY43nqqON5auzxbKk7hHU3fLBbb9uyWnrHaTP3h+GG+jrunzuwtzPqzECZlq3BzRAsSZIk9dRrr5WaUxUD74oVsH17dj4i24Jo2rSsEluo7r7ve8/ywhs72zyuoQfTe4d6tXQgTMvW4GYIliRJkqq1axc89VTbRlVNTaVrjjgiC7mXXZZ9P/30bBuiAw9s87jPv7+u1wOr1VKpY4ZgSZIkqVxK8MILrYPusmVZAN6zJ7tm1Cg45RQ4//zSut3TT4djjmnVqKojtQqsVkul9hmCJUmSlG9bt2ZTl5cvZ+0vH+CN3z7KCS+u5dCd20vXTJiQhdwPf7gUeE8+GUaO7PHbG1ilvmUIliRJUj7s3Zs1pWpZ2V22LGteVXDUqDpeH3s8Pzrl3Tw19njWHTuJj1/2AT747lP7ceCSelNNQ3BEzAS+AxwJ/ENK6bqy858B/meLQ/NTSjcVzn0M+AYwGvhSSukfazlWSZIkDSGvvNI66C5fnm1L9Oab2flhw2DyZDj77Gzt7rRpXHT/NpZwSJupzM8+8FLFELxoaZPrbqVBqGYhOCKCLABfBSwGfhkRd6aUHii79Esppa+W3Xsw8A/AhcAm4J6IuCOl9HytxitJkqRB6M03YeXKto2qXn65dM3RR2dTmP/LfylNZT7lFKhr3YH50QfurPgWxX13W1q0tKlVQ6umzc1ce9tyAIOwNMDVshJ8JrAlpXQ7QER8E5gDlIfgSi4AHkgpPVi49/tkgfjmGo1VkiRJA9m+fbB+fdtGVatXZ+cADjgATjsNPvCBUpOqadPgqKOqeouW++uWHy93412rWnV0BmjevZcb71plCJYGuFqG4AZgfYvX64DGCtf9RURcC/wWmJdSWtPOvW3+3yQi5gHzACZMmNBLw5YkSVLNLVwI110Hzz2XNZ1asCDbPxdg8+bWe+4uW5Y1rtq6tXT/pElZwP3oR0uB98QTYfjwbg+pK/vrVqoOd3Rc0sDR342xFgG3As3A54FvAedVe3NK6RbgFoDGxsZUiwFKkiSply1cCPPmwY4d2ev16+FTn4KbboLXXoPnW6yAq6/PAu4nPlGq7E6dCgcf3OvD6sp2RV2pGksaWGoZgpuAiS1en1A4tl9K6YXizxHxdbL1w8V7Lyi7d1VthilJkqSaa27OKrpLl8L8+aUAXLRnT9a4qmVl9/TToaGh6j13e0O12xV1pWosaWCpZQh+HKiPiAvJGmNdDvxJywsi4u3AamAncHXhHoBfALcUzm8CPgKcU8OxSpIkqbds2gSPPZYF3uLXk0+W1u62Z8+erEo8CHSlaixpYKlZCE4p7YuIy4Bvk22RdHNK6TcRcRPwakrpBmA2WTAeDTwEXFa4d2tEXAn8sHDuyyml52o1VkmSJHVDSvDii6Wg++ij2fdnny1dM24cTJ8Ov//7cNZZ2c/nnZetBS43yHq8VFs1ljSwREpDYyltY2NjWrx4cX8PQ5IkaWjatw/Wri0F3eLXK6+UrjnxxFLQLX5V6sxcviYYYMwYuOWWUnMsSSoTEUtSSpWaLXdJfzfGkiRJ0kCze3e2927LsPvYY6XuzCNGlLYiKobdM86AQw6p7vnFoNted2hJqiErwZIkSXm2fXupYVXxa/ly2LUrOz9mTBZwW1Z3p06F0aP7d9yScsdKsCRJkrrm9dfbrt9dvbrUsOrww7OQe+WVpcB70kk92ntXkgYaQ7AkSdJQkxK88ELr6u7Spa2bUY0fn4Xciy8uBd7x4/t0OyJJ6g+GYEmSpMFs3z5Ys6Zt4H311ezGGfAoAAAgAElEQVR8BJx8Mpx7Lnz606XAe+SR/TtuSeonhmBJkqTBYtcueOKJtg2rtm/Pzo8cma3X/b3fK3VpPv10OOig/h23JA0ghmBJkqSBaNs2ePzx1lsSPfFE1rkZsmB75plw6aWl6u6pp8KoUQAsWtrEjXetYsMdv2ZcfR3zZ012T1tJwhAsSZLU/zZubDudec2abG0vwNixWcidNasUeE88EYYNq/i4RUubuPa25TTv3gtA0+Zmrr1tOYBBWFLuGYIlSZL6SkpZc6rywPvCC6VrJk7MQu4f/VEp8I4b16WGVTfetWp/AC5q3r2XG+9aZQiWlHuGYEmSpFrYuzfbfqjllkSPPZZtUwRZFXfKFDjvvFLYPfPMbJuiHtqwublLxyUpTwzBkiRJPbVzJ6xY0Xr97rJlsGNHdn70aJg2DS66qBR4Tz8dxoypyXDG1dfRVCHwjquvq8n7SdJgYgiWJEnqijfeyCq6Laczr1wJe/Zk5w85JKvozptXCrxTpmSdm/vI/FmTW60JBqgbOZz5syb32RgkaaAyBEuSJLXn5Zfbrt99+unS+WOOyULuhz5UCrwnnNBuw6q+Ulz3e+Ndq9iwudnu0JLUgiFYkiQNaY8suJnxN/01R23eyCv1Y3n+81/i7Os+0/qilODZZ1uv3126FF58sXTNpElZyP3Up0qB99hj+/KjdMns6Q2GXkmqoOoQHBFvBY5veU9K6V9rMCZJkqRe8ciCm5n6V5+nbvdOAI7Z/AqHfuXzrHh5A1PPPqUUeh97DDZvzm4aPhxOOQUuuCALumedBWecAfX1/fhJJEm9paoQHBH/DJwO3A0Udmgn1WhMkiRJvWL8jX+9PwAX1e3ZydT/eX324oADsoD7sY+VqrtTp0KdDaQkaaiqthJ8ETAhpbSploORJEnqtn37YPVqlvzHXaz96a+ZtP5JztrySsVLExArVsDkyTDC1WGSlCfV/r/+XcBpwG9qOBZJkqQ2Fi1tatvg6cxxsH49PPJI6WvJEti6lRnAlJEHsOLot7BtVB0H72q7VdDL9UdxzGmn9f2HkST1u2pDcB3w04h4ANhePJhSmlOTUUmSJJEF4GtvW85Bm17l/JdWc/qLazj8W0+z87W1jN78enbRqFHZlOZLLmHBKwfy60Mm8vQR49k3bDi/98Q93PCzmxmzpzQlunnkaJ7//Jc4pp8+kySpf1Ubgv97TUchSZJUtGkTLF4MjzzCYQt/wt3PPcWx214DYG8MY/WRE/j5iW/lw5ddCGefDdOmZUEY+NY1d7ZqWnLHaTMB+MK932XcG6+y4ZAjeeDSz/EH5d2h1esqVvDtVi1pAKgqBKeUHq71QCRJUg5t25Z1Z245rfmZZ/afnnDYOB6eMJVlx5zM48eexMqjJtE86gAC+PAVH2zzuHH1dTRtbj39+Y7TZu4PwwAN9XX8Qc0+kKBUwW/evReAps3NXHvbcgCDsKR+V2136BnA18k6RCdgFLAppTShhmOTJElDyc6dsGxZ68D75JNZQyuA8eOzyu6f/En2fcYM/uh/Pdom1EIWdiuZP2tyq/BVyYYKz1PvuvGuVW3+DZp37+XGu1YZgiX1u2qnQ38H+FPg/sI91wBRq0FJkqRBbs8eWLly/7RmHnkkC8C7Czstjh2bBd2PfCT73tgIRx/d5jGVQm3dyOHMnzW54tsWA9aNd62qGJ6h/QCt3tPeHxr8A4SkgaDaEPwWYAnQTNYk6++Al4C/qdG4JEnSYLFvHzz9dBZ0i6F36VLYsSM7f8ghWcj93OeywHv22VnVNzr/e3rLUFvt2tLZ0xuYPb2hzZRc6DhAq/dUmpZePC5J/a3aELwcOBZ4kKwKvBV4oVaDkiRJA1RK8PzzrQPv4sWwZUt2vq4Opk+Hyy8vBd4TT4Rhw7r9lsVQ2537oGsBWr2jqxV8SepLkVLq/KKIScAmYDRwFVk1+B9TSqtrO7zqNTY2psWLF/f3MCRJGjIWLW3imz94iKNXLecdm9bxwZ1NHLN6ObzySnbBiBFw+umlsHv22XDqqdlx5Z7doSX1tohYklJq7PFzqgnBhTc8FJiSUno4IoYD+1K1N/cBQ7AkST20eTMsWQKPPMITt/+C+pXLaHhjIwD7CJ4ZO4HRb3srE2adlwXe00+HAw7o50FLkvKit0Jwtd2h/wC4FphWuOf9wCXAxT0dgCRJ6gc7drTdmmjNmv2nD6w/liUNp/B/ZnyYZceezIqj38KOUXU01Ndx/6fP78eBq6usyEpSa9XOV/oacB7wbOH1r4F/qcWAJElSL9u1C5Yvbx14n3iitDVRQ0NW2f3kJ+Hss/nd3+zgqV0jKz7K7r6Di/v1SlJb1Ybgg4BXyl7v6f3hSJKkHtm7N9t7t+XWRI8/ngVhgCOOyALvhReW1vEee+z+2xctbeKpXY+1+3i7+w4u7tcrSW1VG4K/D1wNpIhoBL4K/FvNRiVJkjqXEjzzTOvA++ijsH17dv7gg2HGDLjyymyLorPPhuOPb3dromLVsD0BdvcdZNyvV5LaqjYEXwV8DrgXuBG4C7ipVoOSJClXFi6E666D556DCRNgwQKYO7f1NSlBU1PbrYk2bcrOjx6dbU106aWlwDt5cpe2JqpUNSwKYO7bJlg9HGTcr1eS2uowBEfEv7Z8CbxU+PkM4LvAx2s0LkmS8mHhQpg3L2tUBbB+ffZ661aYOLF16H2p8J/h4cNh2jT4yEdKgXfqVBhZeR1vtTqqDn7j4jMNwIOQ+/VKUludVYI/BDwD3AqsJAvCkiSpt1x3XSkAF+3YAX/2Z9nPEVlF973vzcJuYyOceSbU9X4lr72qYUN9nQF4kCr+u9kdWpJKOgvBR5EF4YuB2cDtwK0ppbW1HpgkSUNSSlm198EHs6/169u/9p574Kyz4JBD+mRoVg2HptnTGwy9ktRChyE4pfQmWVOs70fEQcAfAg9HxJdSSv+rLwYoSdKg1twMS5aUQu+DD5amNY8Zk63l3bmz7X0TJ8Lv/E6fDtWqoSQpDzptjBURI4BZZAH4VOB/Az+t8bgkSRp8UoLnny+F3QcegMceg927s/OTJvH89LfzvZHHcc9hb+GNk07l66zi7L/5i9ZToseMyZpj9YPOqoaLljYZkiVJg1qklNo/GfFtYDrwc7Jp0Ev7amBd1djYmBYvXtzfw5Ak5cmbb2ZbErWs8m7YkJ2rq8vW8L797dnX297Gog17Kk43/u4BT3P2N2/quDv0AFDcQql8/NfPmdZpEC4PzzOnjOWepzYapiVJVYuIJSmlxh4/p5MQvA94A0iFr/2ngJRSOrynA+gthmBJUs21rPI++CAsXQq7dmXnjj8ezj23FHpPP71Nt+Z33HB3u42n7r/m/D74AD3T3fFXCs/lqg3TkqT86q0Q3Nl06J7ttSBJ0mC1c2cWcltObW5qys4dcEDWpfnKK0uh95hjOn1kpQAJHW9NNJC0N87Oxt/R/sNFzbv3cuNdqwzBkqSa66wxVsf/xZIkaahoampd5V2ypFTlnTgR3vWuUuA94wwYNapLj1+0tCmbRlXh3Lj63t/uqBba20Kps/FXG/IHyx8DJEmDW6eNsSRJGnJ27Wpd5X3wwWyqM2Tdmhsb4bOfLYXeY4/t8VveeNeqigE4oMMtiAZSI6rubqHUXniudJ0kSbVmCJYkDX0vvth6WvOSJaVticaPz4Lu5z6XfZ8+veoqb1cCantVzgTt3lO+lrZpczPX3rYcOrinu6r5LN3dQqlSeC7nfsSSpL5iCJYkDS27d2fbErWs8q5fn50bNQpmzIBPf7pU5W3oXpjsakBtrxra0EH1s9Ja2lqsne3KZ+lsC6VKKoVnu0NLkvqLIViSNLi99FLrwLt4cbZ1EcBxx2VBt9jAavr0bLpzL+hqQO3OVOLuNqLqqr4I290Jz5Ik1YIhWJI0eOzeDcuWtQ6969Zl50aOhLPOgiuuKFV5x4/v1bdvOWW4vQ0G2wuo3ZlK3N1GVF3VV2FbkqSBwBAsSRq4XnmldeB95BFoLgSzceOyoFuc2nzWWdnWRTVSzV630HFA7agaWmlNbncbUXVVX4VtSZIGAkOwJKn2Fi6E666D556DCRNgwQKYO7f1NXv2tK3yrl2bnRs5MpvKPG9e6ypvRJ99hGr2uu1uQG1vTe71c6Zx/ZxpNe8OPXPKWP7fQ89VPN5TA6m7tSRJYAiWJNXawoVZeN2xI3u9fn32euvWrClVMfD+9rela445Jgu6V1wB556bVXnr+rcq2dHU4IAeBbyO1uTef835NQ+N9zy1sUvHq9WX3a0lSaqWIViSVFvXXVcKt0U7dsCf/Vn284gRcOaZcNllpSrvxIl9WuWtRkfdne+/5vwePbsv1+RWqszW6v37qru1JEldYQiWJPW+3bth6VK4997S9kSV3HtvtmXRmDFtTg20abS1XJ/bV2ty26vM1o8ZyaYdu3v9/W24JUkaiIbV8uERMTMi1kXE1ohY0MF1H4yIFBEXFF4fVHhd/FpRy3FKknrozTezQPvVr8L73geHHQbnnAPz52eV3komToR3vavdAHztbctpKnRhLoa1RUubavs5OjB7egPXz5lGQ30dQVYBvn7OtF4J5vNnTaZu5PBWx2rRAKu9ymxK1OT92wvRNtySJPWnmlWCIyKA7wBXAYuBX0bEnSmlB8quOxD4AnBf2SOeSSmdWKvxSZJ6YNu2bB3vvfdmXw8/DDt3ArDmmEk8MHkma6acxTs+NZv3v7Ky9ZpgyILvgnb/Njpgp9HWaq/b7myf1B3tVWC3NO/mGxef2evv31fdrSVJ6opaToc+E9iSUrodICK+CcwBHii77q+AbwBX1HAskqSe2LQJfvObUuhdsgT27oXhw7PpzP/1v/JQw2lc9cKBvDSiVNn9wb0vs3PO7zD7lls67w7dQh6n0dYqYLfU0bTrWrx/X4V7SZK6opYhuAFouRBsHdDY8oKIOAM4MaX0+YgoD8ETImI78DLwlZTSd8vfICLmAfMAJkyY0Jtjl6Qhq6q1ti+9BPfdVwq9y5dDSjBqVDbN+Zpr4N3vzppYHXwwAFffcDcvjWgdsPZXb6+Z22HoLee+tbXRH5XZvgj3kiR1RX83xvo74LIKx5vJKsnPkAXnH0bEAymlp1telFK6BbgFoLGxMdV4rJI06LXXGKnuxSZmvb46C7y//jWsXp3dcOCB2RZFH/1oFnrf+lY44ICKz+7N6m1nYW2gNc0aLKzMSpJU2xDcBExs8fqEwjEAImIE8DvAM1HaBmNWRHw4pfRjYGXh2P0RcR8wFWgVgiVJXXPjXato3rWHEzZt4K3Pr+Ctz6/gnOef4LivvpJdUF+fNau6/PIs9E6fDiNHVvXs3qzedhTW3Hu2Z6zMSpLyrpYh+HGgPiIuJGuMdTnwJ8WTKaU9wP70GxE/A25KKf0iIiYBI4FngRnAu4BrajhWSRq69u2DFSvg3nv54j/fyltfWMHY7ZsB2Dimnt+OP41vvfX3+cpNfwZTp2brfLuht6fathfWBmrTLEmSNDjULASnlPZFxGXAt4EjgZtTSr+JiJuAV1NKN3Rw+3GF+8YDzwNXp5TW1GqskjSk7NlT2qP33nuztb2bNgEw49CjuO/46fz2uNP47fiprD28ASJoqK/jK2ec0aO37e8Ox0O5aZYkSeo9NV0TnFL6JXB82bHPt3Pt77b4+V7gpFqOTZKGjDffhEceKYXe+++H7duzcyefDBddlE1tfve7eej1EVxXo8ZIfbVO16ZZkiSpJ/q7MZYkqata7NH76k/+k4OXPcroPbsB2HLiFA791Key0Puud8Gxx7a6dXahU0Nvh9W+XKfbHx2ObcQlSdLQESkNjabKjY2NafHixf09DEnqfZs2ZdXdYufmwh69+4YPZ8XRb+Ghhmxq8yPHncquQ+q5fs60/Q2kahncWj5/WAR7K/z3pKG+jvuvOb/X3rPSe9c6lJYHfMhCd/H3LEmS+kZELEkpNXZ+ZcesBEtSf1m4EK67Dp57DiZMgAULsr10X3659R69y5ZV3KN31oO7WNMcrZ9ZaBAF1LQyWx4MKwVgqN063b7scGwjLkmShhZDsCT1h4ULYd482LEje71+PXzqU/D5z8NLL2XHxozJ9uj9q78q7dFbl617XbS0iTXNj1V89IbNzXzljidqGtwqBcNK+nKdbk+qwx3dayMuSZKGFkOwJPW1l1+Gq64qBeCiPXtgyxb427/NQu9ZZ7FoxStZOPvpNsY9+OD+da/Fqm4lh9aNZHPz7orneiu4VfOcWq/Tbakna5I7u9dGXJIkDS3D+nsAkjTkbdsGP/0pXH01nHEGHHMMvPpq5WvffBPmz4dzzmHRile49rblNG1uJlEKZ3/1o7ZV3qK6kcOJqHgK6L3g1t5zhkcQZGuB+3LNbEdTlnt67/xZk6kb2Xrv5L4M+JIkqXdZCZak3rZ7d7Zl0S9+kX09+GBW5R09Gt75Trj+evj7vy9Ne25pwoT9P7YXzjqahtzZ+d4Kbu11aO6vZlE9mbLc2b19tf+xJEnqG4ZgSeqplGDlyizw/vKX8KtfwdatEAEzZmTrfC+4IFvfW1jTy/jxrdcEQ7YGeMGC/S97e83pYWNG9lpwG2jBsCdTlqu5ty8bcUmSpNoyBEtSd7zwQhZ4i9XeYlX3xBOzDs8XXMCdR0zmbx56JQuJjwTzD3+9FKTmzs2+V+oOXdBeOOuOupHD+fKHT+uVZxUNpGDYk72D+2PfYUmS1H8MwZJUjc2bswpvMfSuKqw1HTs2q/JecAG85z0wcSJQZaOmuXNbhd5y82dNZv5/PM7ufT3bz314BBfNGDiBtRZ6UpkeaFVtSZJUW5Ha2dtxsGlsbEyLFy/u72FIGip27szW8hZD7yOPwL59cOCBWefmYvCdOhWGte0x+I4b7q5YxW2or+P+a85vdayj7Xmm//efs2lH5U7PxecBnVaM+3O9blE1Wxj1ZJujwSZPn1WSpN4QEUtSSo09fY6VYEmCLOA+/ngp9N53HzQ3w/DhcM458Jd/mYXec86BUaPa3F4eaNoLpeXrfDurGG/uIAC3nLJbPp23XG/uEdwd1VTGe7LNUW+PtdbhdKB8VkmS8sgQLCmXFi1tYuG/3cNJyx7mPRtW8M7nH2f05k3ZyVNPhcsvz0LveefBIYd0+qyW05Y7qsqWN2rqaHuejvaoHR7RprJbDG7tze/paaOtnlRyO/ucxfF3dk2t9VU4HQifVZKkvDIES8qPV1+Fu+/m2X+/nRn33M3szVkzqxcPOoKfTJrB+Ks/TOOlH4Fx47r02K/c8URV63YrNVvqbHuearciatmkqr2p2IfWjez8w7Sjp5Xc9j5n0+ZmTrjmzi5Vz2upr8JpT7Z0kiRJPWMIljR07diRTWsubl20dCkAR44+kAcmTOObjRdy//Fn8szhx2XbGW2Dhu8+xfxZqUtrVTc3d7xmt6PKaXvhL5GF2fmzJnP9nGlVTc8tjrG9MLl91x4WLW3qVpjraSW3o5CbyMJwFH4uV802R72lr8JpT7Z0kiRJPWMIljQ4LVzYdnuhiy+GJUtK63ofeAB27crW8J57Lnz1q3DBBZz5g5fZM2x4xcf29lrV8iZY5SpVesvHcv2caZ0+p3yMlezem7pd0awmHHZ0zTcuPrPT8SVoE4T7equivgqnbsskSVL/advSVJIGuoULYd48WL8eUsq+f/KTcPDB8La3ZU2stmyBK6+En/0MXn8d7rknC83nnMPRhx/U4eOL1cui9iqcV3/vcRYtbeKwMZWnGbd3vKXZ0xu4aEYDwyOqGkt7Ko2xku5WNNsLgS2Pd3TN7OkNXD9nGg31dVT+pJkE+69pqK/r847W82dNpm5k6z+Q1CKclv8++uOzSpKUV1aCJQ0u27fDn/95NtW5pb17oa4Obr0VZs6EsWNLU5jv+VWracQdVV+LmjY375863F5w3JsS1962nItmNHDrI8+ze2+phjlyePDlD5/W6cdZtLSJHyxpYm8H29VVE1yrDbfdrWhWU7ns7Jpq1i1X2kKqL/XlnsEtfx+SJKnvGIIlDWiLljbxr/96D6ctvY9Zzy3l7PXLGL5rZ8Vr0/btvHPtkWx49LfUjxnJtjf3tOrYXD6FuaP1s8D+6ztaz9q8ey/3PLWRGz9yRreCUzUV3GqCa0djLOpJRbOacNiVADmQpwMbTiVJGtoidVB9GEwaGxvT4sWL+3sYknrDrl1w773c/w/f5dj772bS600APHP4cdwzaQYXrvwVY3dsaXNb06FH8Y4rvtPho+vrRvLYl9+3/3Vna2kbCkGuo2sCWHfDB6v8cK2dcM2d7W5pBDByWHDjR8/oNJQtWtrEn9/6WLvPaqhhRbO7+mI/XkmSNHRExJKUUmNPn2MlWFKfajf4NDXBT38Kd96ZNbXato3G4SN5aMI0/uWsD/GrSTNYf1i2ddGyY07khp/dzJg9pYrwjhGj+dq7Lun0/Tc3727VIbn4/apbH6t4/YbNzfuvufp7j1ectlztFONKn73TCm5HC2hbmD29od3PEHTeoKs/WHGVJEn9wRAsqc+0rLoO27eXo1c8yks/voXNr66gftUT2UXjx8PcuXyh+Th+dMQpNI86oM1z7jhtJgBfuPe7jHvjVTYcciR/++5P7D/emfIOybOnN7Q7NboYcIvXd3cKb3sdpi+a0cAPljS1W2XuSkfnBrfdkSRJ6pQhWFKf+d+3/Zb3PXY/M9cu5ry1j3LYm1vZE8NYfvxUpt9wA3zgAzB1KkTwH51ME77jtJlVh95ylZpIVZryHGRhtbhfb0+aJrXXYfqepzbu3we4vYpwtU2vBvI6W0mSpIHCECypdlKCxx6Dn/wE7ryTHz/0MMPTPl4dcyh3n3g2d086m/tOmM7WAw5i3V+0XlNbTaOn7qpUGS1vltVyv9ryplq9vc9u8ZntdUyutpLbl52NBwLXFEuSpO4wBEvqlnYDyNat8J//mQXfn/wEXnwxu6GxkX+ZOZfbG85k2bEnkaK0TXlDhZBXzTZGHWmor2PmlLFtphp3VBntKIwW9+vtbshqL9S3DLjtVaNnThlb9fvkZZ1te9PLgVx8fkmS1H3DOr9EklorBpCmzc2klDjgmdWsnP8VHp40nV31h8NFF7H71u/BO94B/+f/ZEH4kUc4/KbrWT3x1FYBuL1QOnt6A9fPmdbtMd5/zfl8dfY0rp8zjYb6OoIsGF8/Z1qnIamjqm13zZ81mbqRw1sdK//ss6c3cNGMhla9sBLwgyVNLFra1O33Horam15+412r+mlEkiRpsLASLKl9CxfCddfBc8/BhAmwYAHMncvf/3gZb131CDOfeYSZaxczcfNLAKw6cgLfafw97nnL2aw8fip//dHp3d5Htnh9Z3v5VtJQX9emUv2Ni8+sukJYTdW2q6r97Pc8tbHNWuieVqEHkt6awlyLP1RIkqR8cJ9gSZUtXAjz5sGOHaVjo0bBqafSvOJJ6vbspHnEaB6YeDr3vOVsfjVpBi8cenSrRwyPYF9KPQo7ne3jW65u5PCKHZfrRg6vqgrc3nt25f6eaG/f4J7sRTxQ9Obvtb310w31dQNyOyhJktRz7hMsqba++MXWARhg1y5YvpyfnP0hfnTcdB6cMI2dI0e3+4jinro9Wa9ZqYJ6/BF1PPDM623C4rCAi2Y0cM9TG9udKlvN+/dng6laVKEHio6mMHf1d2snbIHN0SRJ3WMIllSyZw/cdx/cdls2BbqSffsY/k//yMO3LWdnF5pW9WRKb6VmT4uWNvGVO55gc/Pu0tASHe6525Wpsv3VYGooh7venMKct07YasvmaJKk7jIES3m3cyf84hdw223svO2HjN68iTdHjCKNGE3dnp1tLt9xzLg22wlVqzfXaxbXC7cMwZCF7eER+6vQLQ2GaupQDne9XeXOSydsVdabMwskSfliCJbyaNs2+NnPsorvj38MW7ey+6CD+fnEGdz5O2/n1yfM4L1rHuSGn93MmBZBeMeI0fztuz7BVygFkEVLm5j/H4+ze1/n/QV6O4S2F6r3pkTdyOGDtpo6VMPdUK5yq+/ZHE2S1F2GYGkIqrhO7vgx8KMfZcH3rrvgzTfhyCPh4othzhzeuyR4dlspnNxx2kwAvnDvdxn3xqtsOORI/vbdn+BHJ7yDr5S9X6Wqa7lahJ32KosNhc/c3Wqq6wxrYyhXudX3hvL6eUlSbdkdWhpiWq6TG7ttE+9b8yAfWPMgb39+OcP27IGGBpgzJ/t65zthRPa3sPa6EpcbHsHX/+CM/VXgzjo3B9Qs7NSii3N/doaWVD3/t6r/397dx8lV13f/f392dwizKNlgYiErgUhrqDGSwAp4xVKSWmObEiI3ImKpV63Yi9pCKtHlBzXJJfzYErygrV71h9VWL1aaCrgC0cbWcBW5UxM2MUQSLYQEJ1oCZLnJbpLJ7vf3x+xsZmbPOXPOzJn71/Px8NHu3J7ZPcB5z+fz/XwBtB6mQwPwdOfXvq8P/+Rhvf9nj+us1NNqk9OuaSepf+El+sNbV0g9PVJb26Tn+VVVCo06NzF8xmtNXq5KbFdTWKXNToOOq7LIOkOgMdBZAAAoFSEYaAZPPy3dd5+G7vpnfWfHU5Kkn755tu54z4f1r297t342/RSZmf7w7LPznpYbKLs6E0q0Wd7a3kRbZsBU4XLfbCgMWnsXpv05TNtx4TG+fvDIxDGmhka07sfP67hjov+rzO+9WWcINI5mXT8PAKgsQjBQz/r7pRtuyGxXNGuWdPPN0hVXSM5JTz6ZWd97333Sjh2SpOdnvV1fPP+PteFt79aeaSflvVThOrnCVsL9w2kl2k1dyYReGUlPBMMV67Z4HlpqaMR3CrMkTemYXG0Oen+v7U28jrFQetRNTIgufA2/oHvjwDb1P7Fnov0793msMwQAAGhurAkG6lV/v3TVVdLw8MRNo8dM0Y9Oeadm/ddz6n51n8ba2yzZniAAACAASURBVNV2/vmZ9b0XXqjZf7fFd13vHZfNz6uYLOzb6DtUKreF2e9xYQStzwvz/qW+d3Ywltd6wYvP6s4LwGGfxzpDAACA2oprTXBwqQZAVQ0MpjR/zfd0au96/eLqFXkBWJLaDx/SuT//sX765tm67vev1cJrvqGBtV+Trr5a6u5WV2fC83WndSYmBbiwbb8rl8xRMtEeeNztZp63Z9umw7yP1+2ltiDvHRrxXdt79w+f9/2iYO/QiJYv6NYtF81Td1dSpkwwJgADAAA0D9qhgRrLtuxOVDyd0zt/9XN1v7rP8/FOpo9f/NmJn7MDmwYGU3r94JFJj0+0m1ZdMHfS+/kFwcK239zhM35V2THnZJLna/oF2TBtx2GHdXm9RtAewkHPk1hnGBe2mgIAAPWISjBQQ9k1r6mhEZ36ckrXPtKvjV/+hO7/+l/6Pmfv8dPzfx4Pe2s37MwbapV13DEdk9bY+gVLv2FWyxd069Hexer2WRc7syvpu2bW73avCnPh+3s9Jrtu2ZSpcCfazPM1/N7Xr2pt4+9XCwODKS3s26jZveu1sG+jBgZTNTmOOOWea05H1103w2cDAACNjUowUGW51bE3H9ivy3/6sC786f/VGb/6ucZkevyUefr7cy9R29iYVn3/y+o8cmjiucMdU3TreVfmvV427PlVPl8ZOTpMKmhLo+4QlTq/9bLZ8Bh0X6Ew25uEeUxQtdFvTfC9m1N5t5ukK86dVZMqZZgBYY2IraYAAEC9IgQDVTQwmNJNdz+h87c/omU//Q8t3L1V7W5MT/3aabpp0R/rgd88T//1xqOV3pHEFH364a9r5qsv6uBJM/XZcz6s++f89sT9uSEzTHtxUGtxmP18w4TSKO2vfm3HUdpo/V6j2LHe/cPnNeqc2s10+Tkn66bl84p+/kpo1rDIVlMAAKBeEYKBajh0SPrud/XGz96hR55+XMceOazdXSfqi+deqm+//Xw9M/1kz6fdP3eRvvvOxVp7yRlavqBb7xlM6XGfUFesSivJd0sjvxbhqOJYSxtnZdTreAYGU7p3c2ri9zDqnO7dnFLPKSfUJHQ2a1hkqynEifXlAIA4EYKBShkbk37wg8xWR/fcI+3frzM6p+qf3/k+ffvt52tw5hypSPic1pnQqgvmTlzsFVY3127YqU27X9ZDO/Zp79CIujoTmtLRlrfPb+6Fot9QqKBhUbmCAmrucfldpIa5kK10ZbTeKq/NGhbDfCkDhNGsSwYAALVDCAZK0d8v3XCDtGePhk+cqVt/60p9bfZCzZx6rD731jEt3vxv0t13S7/4hXTccdIHPiB9+MO66Ml27XktXfz1xy1950mT1r8WXgze9cSeifv3D6eVaDfdXrAncFa3T+DyG3hVyC9ArviXLcrN0V4XqWEvZCtdGfVrCS91L+RyNWtYDNM6D4RRb19cAQAaHyEYiOjHN39B71hznZLpzMCqzl+m9Jn7Pq+zTvuB5ry4R297aY/GOjrU9v73S7feKi1blgnCks47tC0vtBZz9w+fz1urGjTYKis96rTmge2eF4flBi6/IOpVSC68SA17IVtqZTRsu2SlW8KjauawyFZTiEOzLhkAANQOIRiIYGAwpXet/dxEAM5KHjmsC3Y+oh93v103vu9qPXn2e/Wdz31g0vMf2uG996+fwrAW9qJv/7B3tbncwBV1397c4w17IVtKUI/SLlluS3glEBYBf826ZAAAUDuEYCCC2777tB5+5QXP+8YkXfqRWzM/+HQ8R61cFFYno4TQgcGU79TkUgOXV0ANknuRWuxCNreSOzWZ0LGJNg0Ne69tLhSlXbLclnAA1dWsSwYAALXTVusDAOrVwGBKC/s2anbvel1wwz3a/hfX6661V/r+Q7P3+BmTnl8oauXi8nPyp0avXDJHyUR7qOeu3bAz0nuFsXxBt265aJ66u5IyBbcQF16keh179jHZSm5qaERO0tBIWgfTY7r9svl6tHdx0dAepV0y6DgA1J/Cf+90dyV1y0Xz6J4AAJSMSjDgYWAwpRvu2aJ3/ezH+uzWDfqd//yROtyYNp0yTw+fukCXPvV9JY8cbYke7piiW8+7Mu81Vt6zVVJ+O+7KJXN07botoY5h4WknTNq7Nvtaq+/frqGR4AFbfsEwaO1smHW1uZXkwjbkrK5kQquXzc17blAr9sK+jWUNvonSLtnMa3CBZsWSAQBAnAjBQKHdu/XydX+lf/vxdzXztRf1YudU/cO7lmvdGUs09JZTdTA9pk1v+U19+uGva+arL2rv8dN163lX6v65i/JeJj3qJoW45Qu6teaB7b5rdnP96Ln9ni3N2dcoxisAFtviKOo2JFEDpd+FbLmDb6K2S3JBDQAA0LoqGoLNbJGkr0qaLulvnXM3+DxuqaQHJf2uc+7fx2/7kKTbJU2R9FfOuS9W8ljR4g4flh54QPryl6XvfU8fddLDs8/U//ydj+v7v3620u0JSZINp3X7ZfO19rhj9FtzF2lqMhFYkfUKcUvfeVKoCdFBU56LhWi/AOi3dvZT/7LVczBUmGpsHIGy3ME3VHcBAAAQVsVCsJmZMgH4WkmbJH3fzNY75x4reNxxkj4t6Qc5t71R0t9KulDSfkkPmdn9zrnnK3W8aFE/+5n0D/8gfe1r0gsvSG95i/TZz+qSkTl60o6f9PCZXclJoW/+mu/5BmGvEPfg1l+GPrwwFeNC3QEB0K+yGjQZuRrbkMQx+IbqLgAAAMKo5GCs+ZJecc592zmXkvRlSRd5PG6NMhXf4Zzb3ivpMefc4865HZLuUSYQA6Xp75dOPVVqa5NmzdKzl16pwbeeIc2ZoyOf/1/aO/dMaf166bnnpNWrdeWHzgs9PGn1srlKtE0eENXeZjpw6Ihm967Xwr6NGhhMaWAwVXQtbxhdyYTv7UGDpErZUqQa25BkB99M6zz6uaZ0MLcPAAAA8atkO3S3pN05P++S1JP7ADM7Q9KvO+euM7M/LfLcSVf1ZnaVpKskadasWTEdNppOf7901VXS8Pj3LM8/r7c+/3/0QudU9f32R3XvO35Hr0+brltOmif95FeB2/RI+ZXfaZ0JrbpgrtZeekbesKrjjmnX4SNjEz9n19cem4gW7EzS7N71mppMyEwTx/IHZ5ykdT96XumxoxXcRJtp9bK5ga+3cskcrVi3RWF3xK321OSD6bGJ/39oJF10TTIAAAAQVa1LLXdI+stSn+ycu9M51+Oc65kxY0bxJ6D1jI5KK1YcDcA5Dnccoy+de4n2vWGaRtKjWvPA9sBteiRp5Te35lVy9w+nJ6ZAb1n1Pj3Xt1TP9S3VMR1teQFVyqyvDWpv9igmy43/b2gkrf3DaTllAvW9m1O67OyT87YMWXvpGUXD4vIF3aEDcLW3IQna6xcAAACISyUrwSlJp+T8PHv8NkmSmXVIOl/SM3Z0r9ElZnbB+OPeW/BcroQR3iuvSF/5ivR3fyft2+f5kJmvvpj3s1dAzR0MtXbDzknBVpo8BXpgMBV5Le9ERXm8Ct1mFrhOdyQ9qod27JsI51F0+wyhykom2nXLRZmtmdZu2KkV67ZUZdBUuROiAQAAgDAqGYK3SuoyswuVGYz1cUl/kr3TOXdEmW5PSZKZ/auk25xz/z4+GOtOM3u3MoOxLpF0TgWPFc3i5z/PBN9//Efp9del886TDhzwDMJ7j58e6iWzISwojOXeF1S57EomdOjI2KQBUKsumJs32Gl27/rQxxWV1xAqU6bi3J3T9h11u6QgYfYfLndCdJzCHC8AAAAaU8VCsHNuzMw+JukrymyR9AXn3CNmdpukF51zfQHPfc3MrpH0LWW2SFrlnCu+pwxak3PSxo3SHXdkhlt1dEiXXy5dc4105plSf79G/vvHlEwfmnjKcMcU3XrelaFefur4ECq/kJa9LysonGbX7BYGLEla2Ldx4rZiWy8VvmcUYbYTWti30bc1OWoYDNqbOPe14pgQHYewxwsAAIDGVNF9gp1z35d0asFt1/k89v0FP39D0jcqdnBofCMj0je+kQm/Tz0lzZghffaz0p/+qXTiiUcfd8UVeuq5/Zq59nM66ZV92nv8dN163pW6f+6iUG+T7dZfuWSO/nLdFo15PGbR6UfXpPuF5a5kYiJE5YYpr9CVaDcl2syz/VrKVG7LCYfFthOKqzV5YDDluQexV6Cul71+g9YmE4IBAAAaX0VDMBCL/n7phhukPXukWbOk666TfvUr6Utfkl56Sa+87e36wiUr9fVT3q3px07Vyl+OavmJ+S/xrhs+qRvn/rbueiJ6Q8HQ+Pre5Qu6teaB7Z7rfR/acbTd2q+i6Te52St0pUedpnUm5JwmVYRN0hXnzqpoIIujNTkb7v3WNnsF6nrY65e1yQAAAM2NEIz61t+vI3/ycXUcHA8gu3fL/fmfZxaTX3ihHll6hT6++w0aOZKpz/q1rg4MpnTv5pRKkRv8hnwGXuUGpKgVTb9wNTSc1q6+pbGtT43yOn7rhlNDI1rYtzHUMXiF+1y1WOsbRj2tTQYAAED8zAVMoG0kPT09btOmTbU+DMRs+KS3qPNXk8PrqyfM0PEvvaCFfRsDJx1nBz2t3bAz8HFB7rhs/kTg83u/7q5kSZOag16z3Uyf/2DxbY/CKGy5lo5OgfZ7/WxoTg2NTAzOyiocpOX1GrN71/tux1TsvWuplN8VAAAAKs/MNjvnesp+HUIw6pJz0oMPyi1bJo/tczUm05mr/7Xo8CgpE2CCKpJSJnB6te12JRPasup9Ez8HBSTJe+CVV/U1tyo7NZnQgcNHlB6d/P5xha9ywnuxLxr8jrEa4b5SmA4NAABQf+IKwbRDo+YGBlMTa23NjeniXT/SX229T1N/9lONWps63ORRVHuPnx4qAEuZoUZ+IbfdTGPO6fhkh14/eCRvEJXXOl6/Vmdp8pZC167bkvfcbKv2pt0v697NqYnHDo2klWgzmWWyf+GxxzGQqZx1rsUe43eMfmujG6GiWg9rkwEAAFAZhGDU1MBgSivv2aqx9BFd+PTD+uTj/6LfeOl5PXtCt25Z9ikdOjKmm7/3v9V5pLTtjbJGnfOsCGeD8f7htBLtpq5kQq+MpAOrf14ByWtLIS8j6VH1P7FnUpuw3xRoKT+EllqhLGeda9DWUF7HmFUv054BAACAXIRgVFfBpOefvOsyLT9wUFc/8U3N3v9L7Zh+ij657NP6zpyFGmtrlySNtrXp0w9/XTNffTHy9kZZuWuD9w6NqM2jMpwedTpuSkde+3NYUSYHR12AkA2q5exfG2YPXr+A7fVcv2MsREUVAAAA9YYQjOrxmPR84+5b1SbpJyf+uq76wA36t984R87a8p52/9xFkUNvrmzYyw1ks3vXez62lH1w127YGTnYRpHdg7ic/WuLVWXDBGy/IVmFYRoAAACoZ4RgVM3wys+o82B+yGyT9GLnVC278nbJvEZglSa7BthvenGc++CGaYMuR3YP4nL3rw2qyhYL2LnPZWgUAAAAGhkhGNUxNqbkL7336T1h+NXYAnDYwUth2oOLKbYPbpBpnQnt99lzuFA25FZy/9ooAbvVWpwJ/QAAAM2lrfhDgOgGBlNa2LdRsz/zoFb88V/rld+c57nVkZSZ9ByXsJOHly/o1i0XzVN3V1KmzJrhqFOLgyqw2dftSiaUaM//5MlEu1ZdMFfdIcNrNuSuXDJHyUT7pNeKoxXZL0jHEbCraeK8612vhX0bNTDo/cVLlNe7/r5tSg2NyOlom3i5rwsAAIDaoRKM2GWDw2nP79St//erWrj7J9oz9df0rQVL9cFt/172pGc/0zoTviHWr5pXTkXPrzJbuPduUCWxWDt1bsit5LTlOCrjtVbO4DA/5azDBgAAQH0iBKN8BROfd8/9Pf31rp9q2dMP66Xk8Vr9O1epf8HvKd2e0JPdp5c96dmPc96BU5q8h2+54UgKHxz9wrZXqF10+gw9tGOfb8itVCtyM2xnVInAWu46bAAAANQfQjDK098vXXWVNDyc+Xn3bv3F7i/pcFu7/vbdl+nOcy7W61M6Jx5e7qTnIEMjac+we2yirSLVvOxz1zywfWJ975SO4isM6nWNaaOv9a1EYK3kOmwAAADUBmuCUZ4bbjgagMeZpJc7u/S/zvvDvABcae1mnmHXbwBVamgklnWjB9NjE/9/Noj7vWajrzGNe81tnCqxrrmS67ABAABQG4RgRJYbhNzu3Z6P+bXXX67oMXgFk1EXfbfeckNoUAtuHI+vJ/Ue4CsRWOMYoAYAAID6Qjs0IskGoTe+/IL+5qGv+E58/tXUGRU7huzev4UtxWs37PRsXe1KJnToyJjvAKpyWqOjtuA28hrTWg+JKtZGXql1zY3eJg4AAIB8hGAU9eObv6CTb/uc3jy0T+86frpu7n673vfMj5QYPaLv/Ma7tWjXk0rmTHxWZ6dSK/9K9poUvTYbLFvZ8wsmXoOqVi+bK0m+IVk62hodNTxFXTNa6zWm5axHrmWADzv5mcB6VL2uPQcAAKg12qER6Mc3f0HvWHOdThx6QW1y6n51ny56+j+0e+qJ+t2P/W9dfdEN+sz7P6lfHD9DMtPwSd1a/QfX6IOvzVbnMe3F38BHot3UlUxIyqz1lYq3oga1ri5f0K1Hexf77s1rUkltvlFbcONu2Y2yRrfcduZa7iXcyG3ktVDvresAAAC1RAhGoJNv+5yS6UOTbp966HXtmXaSpMzE59+++p80sPl5nfWxf9A/zV4oJ+nA4dG8MFtMu9lEeL3sXSfruCkdMkknTj1Wd1w2X4/2Lg6sZIWpfC063btNu7Bi7RWwvAJn1DWj2cfn/k6OTZT2j2HUoFNukCwlwMc1SKuR28hrgS8NAAAA/NEODU/ZQPnI0Aue98989cW8n0ed05oHtk+68E6POh03pUPHTenwbUXOGnNOu/qWhm59LTzeMM95aMe+wGPIlRuwir1+1DbTQ0eOTpTeP5wuad/iqGt0yw2SUdfclvJ39FPrNvJGw5cGAAAA/qgEY5KBwZRu/sYTuuYbt/gOvtp7/PS8nzsTbb5bEe0dGgl18Z0NNH7hbvX9232riqvvnxzAvSpfUUJAbsCKs7IW9PmiiBp04mhnzraV7+pbWrQyH+fvjK2Koqll6zoAAEC9oxKMjP7+zJ6/e/bovM6pOu/IqKYePqDvnXa23rN7qzpzBl8Nd0zRreddOfFzos00nLNXbqHshXdQJTg30PiFuKGRtIZG0hOvla0qZu/zUvhafhVFU35LdGHAirOyFvT5si3WYUStjq5cMsdzcFilgmScv7NKTX6OqlGGTVXrb90ovw8AAIBchGBkAvBVV0nDw5KkEw4MaUym2xderr97z4e1bPtD+vTDX9fMV1/UC10z9PBHV2jzr50tG7/wHT58xLcKLGni/sKgmf25u+Di2S/cFRpJj2rNA9vVeYz/aVwYCBedPkN3PbFn0uP+22kn6LmXRnwv5oMCZ9QgEPT5omw3FDbo5B7f1GRCxybaNDScrnhoibuFudaTn+Ns7660anxp0Ei/DwAAgFzmXNyb2NRGT0+P27RpU60PozGdeqq0e/ekm39x/Ay953/848TP3V1JPdq7eOLnGwe26e4fPq/RCOeQX/AtDGoHDh9RerT8c/OOy+bnXZAv7NvoGcwKP1uhwgt+KTPBuqPNNFJQBU8m2gOHYw0MpnTtui2e95mkXX1Lgz7SpNcKCjpex13s+OJSy/euhFLPnXoTV/W2WX4fAACgcZjZZudcT7mvQyW4xQ08+QtduHu359rfwuFXw4ePTLTr3jiwzbOiWkw2AOdeJBeGpaGRtBJtpmmdCQ0Np9XVmdDQSFp+WbvdzDOIt+V8qOyFv18FtliLbmFlraszodcPHpkUgKXg4VTZ11rzwHbP6nnUKmmx6mjU4VlxqpcW5rg0w7CpOKu3zfD7AAAArYkQ3IrG1/+6PXv0vo5jQg+/yp1ifPcPny/57Qsvkr2CWnrMqfOYDq26YK6uv2+bbwCWMpOpk4n2Sa8x5qTr79umTbtf1r2bU5PuzxUmfOYGzoV9GwNbwIsFgeznqvSazVoHlVq3MMepGSZUx/mlSDP8PgAAQGtiOnSrya7/3b1b5pw604d0xNp0yPIn7xYOv8rKXjBHaYEu1NWZyJvyHFSd9bpoL5Tdm7fdJsf5kfSo7v7h84GvUUr4LBYi28wC98SNur9wqZgSHJ9KTqiOaz/lYuL8UoSJ3bVTrfMFAIBmRSW41dxww8QArKwON6ZXk2/UvsSxmvnqi9p7/HTdet6Vun/uIs+X2Ds04tuCHMbrB48O0koNjUwamJU1sytZ9OI8e9G9fEG3Vvissw06zmmdCa26YG5sVbDc9yzWZlqNKmm1J0I3s0q1d1dzwFSc1dtma3dvFAwkAwCgfAzGanY5Wx/p5JPl9uzxbH8ek+mtn3kg1Et2dyV9pyyXymuLolsumhe4jrcrmdDqZXPzWpS9HhsU2Esd4uM19CnO149T1EFIfo9nO5zKqOaAqWYbVtaKGEgGAGhlDMZCcQVbH8knAEuT1/8GWXT6DN20fF7mLX64J3C9bljZgVleAWvFui2eleLjpnTkXbj7VT0vPqvbN7CHaQMNCn/Z2/1+BfUwJChKxdmvylS4rprqUzhhvjio5rptqreNr9br/AEAaAaE4Gbm0fosSWPKXwzut/7Xz0M79kmSek45oejAqVyJNlOi3TTsMVG5K5nwrGIsX9Dtu51Q4UVf0AX+g1t/qaGR6NOYBwZTWnnP1ontmlJDI1p5z9aJ98tWSP2CeqOtvfUbnOS1FVa1pkw3qrBtq9UeMNVMw8paEQPJAAAoH4Oxmtke7+qnKbMH8JhMvzh+hnrf/0nf9b9esuEzzNCqXG84tkPmMbxKktKjk4NxVneE4U7LF3Tr0d7F2tW3VI/2Lp642F+9bG5JQ3zWPLB90n7F6VGnNQ9sn/h57YadngHYpIZbe+tXTfJrJ6f65C9oEnMuBkwhCs4XAADKRyW4GWXXAfsFl6lv1nv+9Kslv3w2fEYNQEFbCh047B2mBwZTOnDoyKTbgy76irUvp8YHe+UGEr/KmN8x7x9Oa3bv+sABWS7gdeuV3+fxW1dN9clf2LZVWpQRBecLAADlIwQ3m8J1wIU6O7V35V+p/XXvUDOtM6HOYzq0d2hEU5MJHTh8JK8Smhs+i01ILuQ3BTrrtOu/o8vPOXlivbHf8KnjjmlXor1NK9Zt0doNO/MuAMO0oMY1WdWNP9+PXwW7ngWtqy5sfaf6FCxK2yotyoiC8wUAgPLQDt0s+vulU0+VPvIR/wB8yinSnXfqXTd8Up//4BmeLXWrLpg70U68ZdX7tPaSM3z3sl25ZI7voK3C24sFYCnTcnvXE3t040AmlPq1Ww8fHtXQSHoihF5/37aJfTKLtaCGbVHN6komihy1t0YNiH77F9+0fF5V9jVuJrStAgAA1Ce2SGoGxaq/ymyBdNpnHoh9y5sbB7ap/4k9k7Y3uvisbj20Y9/Ea0epGEuZkBXlOdntQWb3rvddn7urb2nR+wsNDKb0l+u2yH/F8mTtZvr8B8+oaEBku6LGUOu/U63fHwAAIE5skYSjfKZA59p7/PS8yqmUP9147Yadk9qLcy+guzoTck56ZSStmeP7BGdD7tRkQmbS0HDa90Lbb29LP6mhkVDV44nPN/7axVpQo05WXb6gW2se2B64nrnQmHMVD8CFLd3Xrtui1fdvz9s3GbVXy7bVsNOpAQAAWg3t0I2uv1/avTvwIYVbIOW2/2YvlFPje91mL5RvHNiWd/v+4XReC/JdT+yZuG9oJK2D6THdftn8vInMuYJap/04ebdVe8mGWK8W1ESbafjwEc3uXa8Dh44o0Z7/KsVaVIciBODcY6kUvzbxoZF0Xms4WlvU1v9mMjCY0sK+jZrdu14L+zbyzwQAAMhDCG5k2TZoH07y3QIpaJuj7L6wUbY/KnZxvXxBt644d1ZJQTh3HeoV584KXGeZu6ZVyoTm9JjT/uH0RGCXywwAC7u2NSjUeoX0RafPkFS5C/GgqdzNGHIINKUJO5262fh9scd5AwAAsmiHblT9/dIf/ZE06h1UhzumBO7/W2ybI799YYMUa3e+afk89ZxyQt4axVPflNQTz+73fb/sWt9cha9R2H7tNQU6V3rMqfOYDg1+9n0TtwWtnfSbmHzLRfO0affLeWuinaR7N2cutnOnKcfZilpsjXUzhRxaeksXtfW/0qq1PjmoAs45AwAAJEJwY8pWgH0CsJP0//zen+v+t58vs0x1ciwnY+ZWTpOJNg2no4x9Ko/fGkmv7ZD82pTDrLP0axnOyg2KxYKW376cknT3D5+ftG45W0kvDPZxXYh7hfJczbR3L4GmdF7niSlzfi/s21jVIVnV/DKjVSvgAAAgPEJwI7rmmsBBWHunvlkDbz9fkuSc1NFmmprsmDS46saBbVUNwEH8gmapF8jFLnhzg2KYoFUYvLMX9X4VbL/b47gQzx6H18CuZtuCh0BTutx/pgoHzVW7ol7NLzPqrQIOAADqDyG40fT3Sy+95Hv3SGKK/vq3/jDvNq/2XylTxYxTu0Vd8Zsvzkm6QS3DhUHRL1AFtRwXqzS3m3kG4bguxAsnezfrFjgEmvJkzxOv6ezVrKhX88sMv+ULzfTlEAAAKA8huNFcc43/fe3t6l3ivQ7Y62KzlHW/QS4/5+RYX68ci06fobue2DPp9uOOadfNH8gfhOUXtEyZiq9XSAi6eM/uk5y7Jjh7u9eFeDlBtpZb8FQDgSYeta6oV/PLjLi7SgAAQPMhBDeSIlVgfe1r2vT8SVLIi02/amVY2ee3m+nyc07WTcvnhX5upSuYD+3Y53l7V+cxk95n5ZI5WrFuy6S1vU7yrZT5XdS3m01Mmy42wEti8FMxBJp41LqiXu0vM+rhy6Fm79IAAKCRmYu5GlgrPT09JWJbqgAAIABJREFUbtOmTbU+jMqaPt0/BL/pTdKLL3oOmMquBewuuBC7cWCbZ7U0DK+pzWH5DcEqtlVRFLN7108KtVLmd7Grb+mk20/tXe/5On6PHxhMaeU3tyqdM3Es0WZae+kZkT6DV5uqVN7vFyhUjX/mwhxDq4TCevh911Ir/a0BANVlZpudcz3lvg6V4EZx9dXBVeC/+RtJxYfhrPzmVq15YPvEkKyFp50wsUVRm+VPkfZTbgWnGkNyola+ukuplHltEhxRrdtU0RrqoaJeD9XZamnlqeZ0twAAGkFbrQ8AIfT3S3//9/73v+lN0hVXTPy4fEG3Hu1drO6u5KRqaHrMaf9wWk6Zi5PHnnlZo86puyup449NeL58MtGm7q6kTJmwWG41w2/gVJzBb+WSOUom2vNuCwrvUR+/dsNOpUfzf7vpUae1G3ZGOk6/kJ29fWAwpYV9GzW7d70W9m3UwGAq0usDWdl/L+zqW6pHexcTSCqolb/cCvoCAACAekEluBEEDcOSJqrAhcJccOVWif0cTI9Fbs31a4cbGEzlVadzxbk+MWrlK+rj47rIDVorSUUFaEy1XoNdS638BQAAoHEQghtBUBt0QRU4V9A2QVFEvXDzC2+bdr+su3/4vO9a3biH5ERtv4zy+KCL3Cjr4YLC98K+jS3TUskaQjSTVp5q3spfAAAAGkdF26HNbJGZ7TKz18zsZo/7rzCz58zsoJkNmtm7x29/g5m5nP89VcnjrGv9/cH3+1SBJe8W36hKuXDza4frf2KP7zRqp8aqbvq1Ty86fYauv2+bUkMjEy3n19+3LbCN2a9NtVUqKtkvTaL8zoB6tnxBt265aF6sy0gaRdSlJQAA1ELFKsFmZpK+KulaSZskfd/M1jvnHst52GOSzpW0X9IVkr4o6czx+55xzv16pY6vYQS1Qr/hDb5VYGlylXFqMqGhkXTg203rTKjzmI7QFTmvCp5fSAuaudXdYFUCvwpunANxWqWi0spDhKKiYt44WmkQWK56GMIGAEAxlWyHni/pFefctyXJzL4s6SJlgq8kyTm3a/y+DkmHJb1QweNpTEGt0F/6UtGnF16IzV/zPd8gnGgzHT4ypv3DmeB14NCRwNf2a3vu6kxo/3Bw2M4VtkpQbwHA6yJ3xbotno8tpXrbKi2VrVLxLhdrxNEoWvULAABA46hkO3S3pN05P+8avy2Pmd0oKS3pDkmfyrlrlpkdMLNnzexKrzcws6vMbJOZbdq3b1+Mh14nirVCB1SB/axeNtezRTqZaNOYpAOHjwauoZG0Vn5zq29bql8FzzlNeg+/3YPazUK1CYZpma2HScrFpj1H0SotlXH+zpoZU3cBAADiUfPBWM65m8zsVkkfkdSvTAV5ZPz/PiOpR9K3zOwx59x/Fjz3Tkl3SlJPT0+IHW4bzCc+UdLTgiqmQW28Xq236TGnNQ9s93w9v0pdttLcbjax/dKi02fo3s2pSVXNsKGuWMtsvVTJ4q7eNmJFJWrFPq7fWb11CsSNijkAAEA8KhmCU5JOyfl59vhtkzjnDkv6qpl9wcyOGf/5p+N3P2pmP5D0Dkn/6fX8pnXggP99bd5F/KDJzA/t2OcbEK71aeOVpP3D6Yn25txwWWz69KhzE2Fm+YJu9ZxyQskhpVgAqPS60rABq9XXw5XyZUQcv7N6+RKkklpljTgAAEClmfOZ1lv2C5u1SXpW0jUaH4wl6U+cc4/kPGaxpG2SDkj6qKSrnXPvMLO3SkpIek7SWZIGJC10zv3c7/16enrcpk2bKvJZasa8m4idpP8z//f1/132qUlhYWHfxlDbIhVWYU+7/ju+k5u9dI8HlcIKnt9jo+4zXMjvc2Vfe3bvet+tl3b1LS3rvQsDVvZ1rzh3lm5aPq+s1242xf5O1X7fdjONOVe1LyMqWY32Og+jdFMAAAA0OjPb7JzrKfd1KlYJds6NmdnHJH1F0nRJX3DOPWJmt0l60TnXJ+k8SXdLOk7SZkmXjz/9LePPO1nS85I+FRSAW9Fnl1wtDY1oxbotunbdlolQGrY1srBKGiUAS5kKbGEFz+8V/I4pbGAYGExp+PDkIV25LbNhq2SlhBSvKrOT1P/EHvWccgIBJEetWnb9Xj97XlejMlzpanSrdxkAAADEpaJrgp1z35d0asFt1+X8/6slrfZ43sOSfqOSx9YsssGzlMnMucGhu0hrc6FsuMxds+pXjfNq1wwbGLyqX5LUlUxo9bK5E48Ns6601JAStOUT2/jkq1XLbrHWfKny2y5VY6unRlwjDgAAUG8qOR0aVZadzByWkyamKC86fUak9/IaWrRyyZxJU6H9BhyFnXS75oHtnu3Wrx08ohXrtkwcf5hJyqVO1w0KcKVUOOthinWlRDkHKv2+XipZkW7VwVXNfD4DAIDmVPPp0IjXKyNpdSUTvnsBF8pWQ49NhP8+ZFpnouyhUGECw8Bgyreq7dfmWkpFt1hIWblkjlas2+LZ7h21wtnsA5xq1bJb+L5t45PJC1WyIt2Kg6ua/XwGAADNiRDcZGb6DKxKtJnecGyHZ6gcSY8WHW6VlUy0a9UFc33vD9uuGSYwhN3/NGzLqd97tplNVJO9LF/QrU27X1b/E3vygnApFc5qtMzWWq1adnPf12+IVCUr0nFvj9UIWuF8BgAAzYd26AZWODs6dzuiwtbgtZeeocHPvm/Sc4qZ1pkIbDEuVZi22ShtpGEe69fyPeqcrr9vW2Ab503L5+n2y+aX/bto1ZbZagvTHt8M71lrnM8AAKARUQmuc075Ydfl3Hb7ZfN92079qnF+1dCuZEKHjoxNqmKtumBuRS7ii7XNDgymfFtavWQryNnpz6mhEbWPPz87OfuhHft8nx+mehVHhbMVW2ZrpRYV6VYbXMX5DAAAGhEhuJ45J1ewV7CT9NbPPCgpEyCjrrdcdPoMz7be1csyLc5rHtg+0TI9paOyjQJ+gSHbyuoVgBNtJpmUHj16X7aCXNgCm7tu2G9Nb67C6lUl9nxtxZZZNC/OZwAA0IgIwXXu/id/4blFkBR9CM3AYEr3bk7lhUGTdPFZmTA6MJjSwfTYxH1DI+maDLnxWmcoSe1mWnvpGROPKQynC/s2+q5tDlNPzq1eVWrgD3u9xqMSX1DEeSxSa/yNOZ8BAEAjMhdlT5061tPT4zZt2lTrw6iI3BZfL91dST3au7jo6/jt45t9frH7Kyk3SASdkd1dSd+L7dm964uGXZN3IE4m2vPWb8b1u6insNYs/IZe1WL9rdexJNpNclJ6LL9bodnXBwMAAFSamW12zvWU+zoMxmoAyxd069Hexb5DrcIOoSk2xCbKkJs49wbNBolUkQBs0sRjspXZ3PedmkwUfS+nTJCVMpVlyXuAURwDfwo/l9cxI7pS93uu1rGkR11eAJZqd3wAAACYjHboBlLuEJpizw/7+nG3Cvu1PxcqDMiFw6wsxOjrsJXcOAb+sH1MZdTTROK4J5iHQXcBAABAeagEN5Aw2wr5GRhM6cChI5Nuz32+1+tL0vDhI3nVy7grceWEg9znDnnsgZwrysCecn7XXscW5vZGFFdHQJTX8fsiohYTiaO8ZxzHV8/dBXF2hwAAAFQSIbiBlLoPafbCeWgkPyQed0xmnaKUWQO7Yt0WHZtoUzKRf1rsH07nXWjHHe7KCQe5zw16nah7tsax52s9hbVKiCuQRX2dOL6giIvXsSTaLTPFPEdcx1dPreC56jmc1wO+IAAAoL7QDt1gStmH1K/d+MDhUX1z0x49ueeVifv3D6c91x7ntvHGvTeo1zYrYRQGC7/tWkodSFTunq/Nvn1MXO3eUV+nniYS+x1LpY6vXrsLaP33V6lJ8wAAoHSE4BYQdIH86DMvT7rNbzhVamhEC/s2atHpM3Tv5lSs4e7YRNvE6/lNcO5KJnTclA7fYFFP4agejyducQWyUl6n3C8o4uR3LJU4vri/gIpLvYbzesAXBAAA1B9CcAvwu3AuRWpoRPduTunis7r10I59Sg2NqN0sryUzyoWd1xYzHR5bzJgy+xYfN6VDt182f+I9vIYElbOdU9xDh+oprMUtrkBWr8GuHlW6u6DU85+/oT++IAAAoP6wJrgFLDp9RuTnBA1aHkmP6qEd+ybWQ46O7zVdyjpAvy1m3nBsx8RWRrmV4dz38FqHeO26LTq1d70W/M/vVWxtajnr+xptbWDQ8ca1Nree1vjWuzjWqvspZ10vf0N/zT4bAACARmTOBe3M2jh6enrcpk2ban0Ydcer0lqosP04mWjPq/T6Pcev+hN2GyJJmt273rP12STt6luqhX0bfd9DUqgK97TOhFZdMLdoUAh6r+zn8fp9hl13XM5zayHM8XpVDqXoLeBs+1N7Yc7/IPwNvTXaP/cAANQzM9vsnOsp93Voh25yxfbgzQ28XhevfhfGM7uSvu182bXDYS6Gg9ooBwZTviE3Sivh/uG0Vt6zVVJwq3aYtsVy1vc12trAMMdb2O5d6hCgqG3juYFrajIhs8wWWYSv0pXbttvMrf/laPbZAAAANCLaoZtc0AWsSTpz1lTfACwFtzkGtfOVu93NotNnTIQnLzO7kpHaCdOjrug2MmHaFssJCo22NrCU463GFj6FbbtDI2ntH06zNU+ZaNutnOULuvVo72Lt6luqR3sXE4ABAKgxQnCTC7qAdZIee+blwMAatAbRK8B6CQpBfq//0I59vhXsRLvpwKEjSg2NBK5dLlQsbIZZ11hOUPB7TJtZXa4RLuWzBnUHlPLZvNYkF+tuqId9cxsR63oBAECrIAQ3uWJBtXA9bm6AyAaQFeu2SJJuv2x+XhWjMMC2m38kzbZIewUhrypJYGB1meqf1/EHKRZUwwwdKico+P0tRp2b+BJi5Te31k0QLuWzBv2Oo1Zo/QY1hVkHXq/V9XpWyaFbAAAA9YTBWC1gYDClT/3L1okpzsWYMoE36jAXvyFXucIOhPFbi9xu5vk5pnUmdDA9qpH0mOfrJdpNay85I7YpuqWu78t9rkzy+pN0JRPasup9ZR9nHKJ+1mKD2KIMTYt6DpT6PgAAAGgMDMZCaNnQUmxKdNbMrmRJQ5zC7EccdhCU336ofse/fzgdWPG+7F0nx1bRKmcAUO5zT+1d7/mYbJW7HkT9rNnHXjvePVAoSoXW77GjzgWeC7TwAgAAIAjt0E3Gb1/XwlbHICuXzClpKFLYNcJhgpBfa2a3T7ttu1lgwH9oxz5JjbdPbyNavqDb9+8UZciS32NzzwWTlEy0qW38pG4308VnMaUYAAAA/gjBTcRvDWVuEM6uvfULKdM6E1q+oLukoUjLF3Tr4rO6A9cGF3uN3M/i1Ybrt061WHvs3vHBTEG/n3KUEq6ndSYi3d5I4hiyFPQa2XP59svmSzKNjf/5R53TvZtTfLkBAAAAX4TgJhJlexq/gLHqgrmB9weFmIHBlO7dnAoMpGGCUFBYjVohzirW4l2OUsP1qgvmKtGe/4VBot0m/gaNLI4hS2FeoxpbMgEAAKC5sCa4iURpYc4GCb+hR8Xu9+K3dU27mcacCz1Eqth6ZL91qn5rnrPBe0UM61RLOV4/pfyOG0k5a6fDvkaj7b3crMoZFgcAAFBthOAm4jeYyq/9uFjAiBpi/ILHmHPa1be07NcJCjbZ41zzwHbtHz46WGpaZ0KrLpir5Qu6tXbDzqK/n1Iu5ssJYnEExVYW9ZxH/Aongmc7ISRxbgMAgLpEO3QTiWMdZjlKWUcc9+scLNgiKffnYr+fUtua4/rciK7W5zxoSQcAAI2HENxE4liHWY64Akmpr1PsYrzY76fUi3mCWO1U8pxnkng4tKQDAIBGQzt0k6lle21ca1xLfZ0wF+NBv59SL+brYW1vK6/JrMQ5T4tveLSkAwCARkMIRqziCiSlvE65F+OlPL8wfN5+2fyqh6QbB7ap/4k9ys7kJrCVr9RhZ61o5ZI5k4bS0QkBAADqGSEYdSGOSma5F+NRnx9XtTDMZ/d7zMBgKi8AZ9VzYGuEqjUtvuHVQycEAABAFIRg1FxcYbLci/HC509NJmQmrVi3RWs37Jz0WnFUC8N89qDHrN2wc1IAzqrHwNYobca0+EbDlHNE0QhfhAEAmhshGLEo56Km2ECqKK9b7sV49vlhwloc1cIwQTroMUHvVS+BLffcaDPTqMuP7fVYtabFF6iMRvkiDADQ3AjBKFuUi5rcQNTVmZBz0tBIetJr5r5OLS6WwoTTOKqFYYJ00GP8jsGkmge2gcGUVt+/Pe/vWxiAs+qtak2LL1AZrLcHANQDtkhC2cJuLVS4D+/+4bRvAJakdrOa7T8aJpzGsTVSmD2Ggx7jdQwm6YpzZ9X0gjL7tw76++aql6p1ruULuvVo72Lt6luqR3sXc4EOxID19gCAekAIRtnCXtR4hWU/yUR7TauGQcEzu3/sinVbdGyiTV3JRMl71IYJ0kGP8don9/bL5uum5fNCH0MlRP1b17pqDaA6wnzxBwBApdEOjaKKrfcN2xYcNrx2j7/H2g07azacyG9N6KLTZ+Tdvn84rWSiveStkcK03RZ7TD0OJSr2t24305hztBkDLYb19gCAekAIRqAw633DXtT4heVc3V1JPdq7eOLnSl4sBYV7v+BZifVsYUJsPQbdIEF/62SiPXLFHEBzYL09AKAemPNpOW00PT09btOmTbU+jKazsG+jZ5gpDKth97otDLW5vMJRpbbS8DqWMOFsdu96zy2JTNKuvqVlH1ez8PtbT+tMaNUFc7ngbSFshwMAAOJiZpudcz3lvg6VYAQKu943bDVT0qTp0K+MpH0vjitVAS21osv+seFQ7YHEdjgAAKA+EYIRKO7QVy9tvaVOKG3k9WzVrsjVy98atcN2OAAAoB4RghGokUNfkFLDfSNWOL3266Uih2pgOxwAAFCPCMEI1IihL4xywn0jVTiD1mFTkUOlsXwAAADUI0Iwimqk0BdWXOG+3of+FNuvl4ocKqlZO0kAAEBjIwSjZZUb7hth6E+xkEtFDpXUrJ0kAACgsRGCgRI1wtCfYvv1UpFDpTVjJwkAAGhsbbU+ALSmgcGUFvZt1Oze9VrYt1EDg6laH1JkjTD0Z+WSOUom2ifdPq0zUXRPZAAAAKAZUQlG1TVCG3EYjTD0h3ZUAAAAIB8hGFXXCG3EYdTj0B+/QV2N9HsFAAAAKqmi7dBmtsjMdpnZa2Z2s8f9V5jZc2Z20MwGzezdOfd9yMx+aWYvm9mfVfI4UV310kZcbkv28gXduuWieeruSsokdXcla9pinK2wp4ZG5HS0wt6IreYAAABApVSsEmxmJumrkq6VtEnS981svXPusZyHPSbpXEn7JV0h6YuSzjSzN0r6W0kXjt/3kJnd75x7vlLHi+qphzbiuFqy66nK2iwVdgAAAKCSKlkJni/pFefct51zKUlflnRR7gOcc7ucc7+SNCrpsKQXxu96r6THnHOPO+d2SLpHmUCMJuA1rKnabcRBgbFR1UuFHQAAAKhnlVwT3C1pd87PuyT1FD7IzG6U9DlJL0n67YDnTiplmdlVkq6SpFmzZsVy0Ki8ag9r8lon24yBsR4q7AAAAEC9q/lgLOfcTWZ2q6SPSOpXpoIc9rl3SrpTknp6elxljhCVUK02Yr+256nJhIZG0pMe38iBsR4HdQEAAAD1ppLt0ClJp+T8PHv8tkmcc4edc1+V9DYzOybKc4Egfm3PZqp5S3bc6m1QFwAAAFCPKlkJ3iqpy8wuVGYw1scl/UnuA8xssaRtkg5I+qikZ51zh83s3yXdOT4ter+kSySdU8FjRZPya2/eP5zWR86dpYd27Gv4/XP9tkUCAAAAMFnFQrBzbszMPibpK5KmS/qCc+4RM7tN0ovOuT5J50m6W9JxkjZLunz8ua+Z2TWSviVpiqRVzrk9lTpWNC+/dbKSdO/mVMNXSuOacg0AAAC0CnOuOZbS9vT0uE2bNtX6MFBnCkNioe6upB7tXVzlo5qs1Gruwr6NniG/Xj4XAAAAEBcz2+ycmzRsOaqaD8YCKikbJK9dt8Xz/nqYBl1ONbcZp1wDAAAAlVTJwVhAXVi+oFvdPlOf62EadDl7Fvsdfz18LgAAAKAeEYLRElYumTNpGrQkDR8+ooHB2g4eL6ea6/W5Gn3KNQAAAFBJhGC0hOz2QV3JRN7t+4fTuv6+bTUNwuVUc9kWCQAAAIiGwVhoKfU4SMpreFcy0U6YBQAAAHIwGAsoQT0OksoGXfb6BQAAACqPEIyW4rdvcK0HSS1f0E3oBQAAAKqANcFoKQySAgAAAFoblWC0FFqPAQAAgNZGCEbLofUYAAAAaF20QwMAAAAAWgYhGAAAAADQMgjBAAAAAICWQQgGAAAAALQMBmMBKNvAYKolJ2636ucGAABoZIRgAGUZGEzp+vu2aSQ9KklKDY3o+vu2SVJTB8JW/dwAAACNjnZoAGVZu2HnRBDMGkmPau2GnTU6oupo1c8NAADQ6KgEAw2ontpw9w6NRLq9WbTq5wYAAGh0hGCgDkQJtfXWhjuzK6mUR/Cb2ZWs+rFUU6t+bgAAgEZHOzRQY9lQmxoakdPRUDswmPJ8fL214a5cMkfJRHvebclEu1YumVOT46mWVv3cAAAAjY4QDNRY1FBbb224yxd065aL5qm7KymT1N2V1C0XzWv64VCt+rkBAAAaHe3QQI1FDbX12Ia7fEF3S4a/Vv3cAAAAjYxKMFBjfuHV73bacAEAAIDSEYKBGosaamnDBQAAAEpHOzRQY9nwGmXLI9pwAQAAgNIQgoE6QKgFAAAAqoN2aAAAAABAyyAEAwAAAABaBiEYAAAAANAyCMEAAAAAgJZBCAYAAAAAtAxCMAAAAACgZRCCAQAAAAAtgxAMAAAAAGgZhGAAAAAAQMsgBAMAAAAAWgYhGAAAAADQMgjBAAAAAICWQQgGAAAAALQMQjAAAAAAoGUQggEAAAAALYMQDAAAAABoGYRgAAAAAEDLIAQDAAAAAFoGIRgAAAAA0DIIwQAAAACAlkEIBgAAAAC0DEIwAAAAAKBlEIIBAAAAAC2DEAwAAAAAaBmEYAAAAABAyyAEAwAAAABaRkVDsJktMrNdZvaamd3scf8nzOznZnbAzDaa2Snjt7/BzFzO/56q5HECAAAAAFpDxUKwmZmkr0q6VtLpki42s/9W8LARSR+Q9GZJP5F0W859zzjnbPx/76jUcQIAAAAAWkclK8HzJb3inPu2cy4l6cuSLsp9gHPu6865p5xzByR9U9KJFTweAAAAAECL66jga3dL2p3z8y5JPQGP/yNJ9+b8PMvMDkj6L0mrnXNfL3yCmV0l6arxH183s53lHTJiNF3Si7U+CNQNzgfk4nxALs4HFOKcQC7OB+SaE8eLVDIEh2ZmV0s6SdL/GL9pRJlK8jPKBOdvmdljzrn/zH2ec+5OSXdW81gRjpltcs4FfemBFsL5gFycD8jF+YBCnBPIxfmAXGa2KY7XqWQ7dErSKTk/zx6/LY+ZfUTShyR90Dk3KknOuVHn3E+dc4ecc49K+oEk1gUDAAAAAMpSyRC8VVKXmV1oZt2SPi5pIPcBZrZc0gpJy5xzIzm3v9XM5pjZlPFhWr8laXsFjxUAAAAA0AIqFoKdc2OSPibpbyTtlDTgnHvEzG4zs97xh10n6UxJ+8e3Qsq2O79F0oOSXpH0NUmfcs79vFLHioqgTR25OB+Qi/MBuTgfUIhzArk4H5ArlvPBnHNxvA4AAAAAAHWvku3QAAAAAADUFUIwAAAAAKBlEIIRiZktMrNdZvaamd3scf8nzOznZnbAzDaa2Sk59/21mb1oZkNm9hUzq4stulC6EOfDFWb2nJkdNLNBM3t3zn0fMrNfmtnLZvZn1T1yVEqp54SZvd3MHjKz183sWTP7UPWPHnEr598R4/cfN37/XdU7alRKmf/NOM3M/mP8vqfN7Neqe/SohDLPCa4rm0yx8yHncUvH50m9N+e2SNeVhGCEZmYm6auSrpV0uqSLx6d35xqR9AFJb5b0E0m3jT+3R9Klks6QdJqkeZL+oDpHjkoIeT48JulcSVMl/Z2kL44/942S/lbSRZL+m6QbzezkKh06KqScc0JSp6TPS5op6b9LutPMplXjuFEZZZ4PWauV2SYRDS6G82GdpO8qc33xQUnDlT5mVFaZ1xFcVzaZkOeDzOw4SZ9Wzn8bSrmuJAQjivmSXnHOfds5l5L0ZWVOtgnOua87555yzh2Q9E1JJ47ftU/S4ZyHjknaW4VjRuWEOR92Oed+JWlUmb//C+N3vVfSY865x51zOyTdI+nC6h06KqTkc8I5t8k596Bz7lXn3H9I+i9JJ1T38BGzcv4dITM7Q9KpktZX7YhRSSWfD2Z2tqTjnHN94/+O2Oace63Kx4/4lfPvCK4rm0/R82HcGkm3K/+LsMjXlYRgRNEtaXfOz7vGb/PzR5LulSTn3G5J/yDpF5JelPRD59yPKnScqI5Q54OZ3SgpLekOSZ+K8lw0nHLOidz7F0p6VdKzlTlMVEnJ54OZtSlzkXNd5Q8TVVLOvx/eJillZj8ys1fM7Gtmlqj0AaPiSj4nuK5sSkXPh/EvR3/dOTcQ9bmFCMGoCDO7WtJJyrSuyMwWSPq4Mi0rJ0k618xoW2kBzrmbJE1RpnWlv8aHgzoQdE6Y2VuV2QPwCscefi3B53z4hKR/G7/QRQvxOR86JJ0j6c8kzVbm4vaPa3KAqDqvc4LrypZ1h6S/jOOFCMGIIiXplJyfZ4/flsfMPiLpQ5I+6JwbHb/5bEnfd849O97W8m1levbRuEKdD5LknDvsnPuqpLeZ2TFRnouGUs45ITPrlnS/pD8Zb2dCYyvnfFgo6f81MyfpbklXmNk9lT5gVFQ558MvJG1zzv3YOfeypPskvb3SB4yKK+ec4Lqy+QSeD+ODz86X9Mz4fxuWSPq38S8/Il9XEoIRxVbzkuvkAAADCUlEQVRJXWZ24fjF6scl5bUjmNlySSskLXPOjeTctUPS75rZ7PGJjsskPV2l40ZlhDkfFpvZDDPrHO8OeNY5d1jSv0taaGbvNrPTJV2iTPhBYyv5nDCz6ZK+I+lTzrnHq3/oqICSzwfn3Eecc+acM0mXS+p3zl1S/Y+AGJXz34wfSHqLmfWY2QnKrBPcVu0PgNiVc05wXdl8As8H59yR7H8Xxv/bsEHS7zrnHlQJ15WEYITmnBuT9DFJfyNpp6QB59wjZnabmfWOP+w6SWdK2j8+uvw/x5/7H5L+RdKPlPkX11ZJ36j2Z0B8Qp4P50l6SplBFpcpczGr8YEm10j6lqTHJd3inNtT5Y+AmJVzTkhaLumdkv51/N8dzszeU91PgDiVeT6gyZT534xDyrRC36fMWr9dkv6pqh8AsSvznOC6ssmEPB/8nhv5utJYcgUAAAAAaBVUggEAAAAALYMQDAAAAABoGYRgAAAAAEDLIAQDAAAAAFoGIRgAAAAA0DIIwQAA1DEz6zWzlJkNm9mTZna2mX3YzGb6PL7HzAa87gMAAFJHrQ8AAAB4M7MeSZ+U9LuSnpN0hqTXJX1Y0s8k7a3ZwQEA0KCoBAMAUL+mS3raOfdT59ywc+5xSWdKWirpx2bmzKzLzM43s2fN7L/G7wMAAD4IwQAA1K+NktJmttHMbjCzuc65uyStl/Qu55wpUxn+J0l/Iel0SWfX7GgBAGgAhGAAAOqUc+6wc+73Jf2xMq3P/2xmHy542KmSXnLOPeic2y/pjiofJgAADYU1wQAA1Dnn3HOS/nG83fk6ScOFD6n6QQEA0KCoBAMAUKfMbIGZXWJmbzKzaZIulZSSdECZCrCUGZg13cx+f/wxf16TgwUAoEEQggEAqF8HJH1M0jPKhN03S+qVdJekL5qZk/QGSR+V9AVJOyRtrsWBAgDQKMw5OqgAAAAAAK2BSjAAAAAAoGUQggEAAAAALYMQDAAAAABoGYRgAAAAAEDLIAQDAAAAAFoGIRgAAAAA0DIIwQAAAACAlvH/A650POlJQ8GwAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fa805f13ad0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots(figsize = (16,10))\n",
    "plt.plot(stds1*np.sqrt(242), means1 * 242, 'o')\n",
    "plt.ylabel('Mean')\n",
    "plt.xlabel('Std')\n",
    "ax.set_xlim(0.265, 0.4)\n",
    "ax.set_ylim(0.25, 0.7)\n",
    "plt.plot(np.array(risks1)*np.sqrt(242), np.array(returns1) * 242, 'y-o', color = 'red')\n",
    "plt.title('Efficient Frontier of portfolio1')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5,1,u'Efficient Frontier of portfolio2')"
      ]
     },
     "execution_count": 54,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fa805c7b250>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots(figsize = (16,10))\n",
    "plt.plot(stds2*np.sqrt(242), means2 * 242, 'o')\n",
    "plt.ylabel('Mean')\n",
    "plt.xlabel('Std')\n",
    "ax.set_xlim(0.265, 0.4)\n",
    "ax.set_ylim(0.25, 0.7)\n",
    "\n",
    "plt.plot(np.array(risks2)*np.sqrt(242), np.array(returns2) * 242, 'y-o', color = 'red')\n",
    "plt.title('Efficient Frontier of portfolio2')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
